From 81fc9ded1ee70a6ddcdf0a698f4ef9e16132a87c Mon Sep 17 00:00:00 2001 From: fangdawei <44673626@qq.com> Date: Mon, 3 Jul 2023 16:42:49 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AF=E9=87=8D=E6=96=B0=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.gitattributes | 1 - .../新版JIT或JIS系统服务端/.gitignore | 262 - .../.prettierrc | 5 - .../NuGet.Config | 6 - .../WY.NewJit.sln | 137 - .../WY.NewJit.sln.DotSettings | 23 - .../common.props | 8 - .../Books/BookDto.cs | 16 - .../Books/CreateUpdateBookDto.cs | 22 - .../Books/IBookAppService.cs | 16 - .../Dtos/AssemblyCfgErp2PartDto.cs | 40 - .../AssemblyCfgs/Dtos/AssemblyCfgErpDto.cs | 49 - .../AssemblyCfgs/Dtos/AssemblyCfgPartDto.cs | 45 - .../Dtos/AssemblyCfgVehicle2PartDto.cs | 40 - .../Dtos/CreateUpdateAssemblyCfgErpDto.cs | 46 - .../Dtos/CreateUpdateAssemblyCfgPartDto.cs | 37 - .../Dtos/QueryAssemblyCfgErpDto.cs | 27 - .../Interfaces/IAssemblyCfgErpAppService.cs | 73 - .../Interfaces/IAssemblyCfgPartAppService.cs | 51 - .../IAssemblyCfgVehicleAppService.cs | 17 - .../MsgBaseData/Dics/Dtos/DicItemDto.cs | 31 - .../Dics/Interfaces/IDicAppService.cs | 22 - .../Dtos/CreateUpdateExcludePartCfgDto.cs | 33 - .../ExcludePartCfgs/Dtos/ExcludePartCfgDto.cs | 52 - .../Dtos/QueryExcludePartCfgDto.cs | 21 - .../Interfaces/IExcludePartCfgAppService.cs | 66 - .../Dtos/CreateUpdateLogRemindDto.cs | 47 - .../LogReminds/Dtos/LogRemindDto.cs | 54 - .../LogReminds/Dtos/QueryLogRemindDto.cs | 32 - .../Interfaces/ILogRemindAppService.cs | 81 - .../PartCfgs/Dtos/CreateUpdatePartCfgDto.cs | 64 - .../MsgBaseData/PartCfgs/Dtos/PartCfgDto.cs | 73 - .../PartCfgs/Dtos/QueryPartCfgDto.cs | 31 - .../PartCfgs/Interfaces/IPartCfgAppService.cs | 66 - .../Dtos/CreateUpdatePartSwitchDto.cs | 33 - .../PartSwitchs/Dtos/PartSwitchDto.cs | 57 - .../PartSwitchs/Dtos/QueryPartSwitchDto.cs | 34 - .../Interfaces/IPartSwitchAppService.cs | 66 - .../MsgCheck/BillM100s/Dtos/BillM100Dto.cs | 128 - .../BillM100s/Dtos/BillM100PartDto.cs | 38 - .../BillM100s/Dtos/CreateUpdateBillM100Dto.cs | 105 - .../Dtos/CreateUpdateBillM100PartDto.cs | 32 - .../BillM100s/Dtos/CreateUpdateNewM100Dto.cs | 19 - .../BillM100s/Dtos/MenBanPrintInfo.cs | 18 - .../MsgCheck/BillM100s/Dtos/NewM100Dto.cs | 19 - .../BillM100s/Dtos/QueryBillM100Dto.cs | 104 - .../BillM100s/Dtos/ResultBillM100Dto.cs | 139 - .../BillM100s/Dtos/ZhuHuBanPrintInfo.cs | 12 - .../Interfaces/IBillM100AppService.cs | 82 - .../Interfaces/INewM100AppService.cs | 76 - .../MsgCheck/BillR100s/Dtos/BillR100Dto.cs | 94 - .../BillR100s/Dtos/BillR100PartDto.cs | 38 - .../BillR100s/Dtos/CreateUpdateBillR100Dto.cs | 80 - .../Dtos/CreateUpdateBillR100PartDto.cs | 32 - .../BillR100s/Dtos/QueryBillR100Dto.cs | 77 - .../BillR100s/Dtos/ResultBillR100Dto.cs | 123 - .../Interfaces/IBillR100AppService.cs | 74 - .../IR100M100CompareAppService.cs | 33 - .../R100M100Compares/QueryCompareDto.cs | 114 - .../R100M100Compares/ResultCompareDto.cs | 116 - .../Dtos/CreateUpdateRepeatM100Dto.cs | 85 - .../Dtos/CreateUpdateRepeatM100PartDto.cs | 35 - .../RepeatMessages/Dtos/QueryRepeatM100Dto.cs | 87 - .../RepeatMessages/Dtos/RepeatM100Dto.cs | 115 - .../RepeatMessages/Dtos/RepeatM100PartDto.cs | 38 - .../Interfaces/IRepeatM100AppService.cs | 58 - .../R100Repeat/IRepeatR100AppService.cs | 51 - .../R100Repeat/QueryRepeatR100Dto.cs | 76 - .../R100Repeat/RepeatR100Dto.cs | 101 - .../R100Repeat/RepeatR100PartDto.cs | 38 - .../Dtos/AddAssemblyCfgDto.cs | 23 - .../UnknownAssemblys/Dtos/BatchParseParam.cs | 16 - .../UnknownAssemblys/Dtos/QueryBillInfoDto.cs | 21 - .../Dtos/QueryUnknownAssemblyDto.cs | 95 - .../Dtos/ResultUnknownAssemblyDto.cs | 100 - .../UnknownAssemblys/Dtos/ToParseInParam.cs | 21 - .../Dtos/UnknownAssemblyDto.cs | 42 - .../Dtos/UnknownAssemblyPartDto.cs | 32 - .../Interfaces/IUnknownAssemblyAppService.cs | 79 - .../MsgConversion/IMsgConversionAppService.cs | 15 - .../IMsgTransmissionAppService.cs | 17 - .../MsgTransmission/TianHe/AssemblySyncEto.cs | 16 - .../TianHe/AssemblySyncOperationType.cs | 17 - .../MsgTransmission/TransmissionParamDto.cs | 33 - .../NewJitApplicationContractsModule.cs | 29 - .../NewJitDtoExtensions.cs | 29 - .../NewJitPermissionDefinitionProvider.cs | 22 - .../Permissions/NewJitPermissions.cs | 10 - .../WY.NewJit.Application.Contracts.csproj | 34 - .../WY.NewJit.Application.Contracts.xml | 2567 --- .../Books/BookAppService.cs | 27 - .../AssemblyCfgs/AssemblyCfgErpAppService.cs | 461 - .../AssemblyCfgs/AssemblyCfgPartAppService.cs | 205 - .../AssemblyCfgVehicleAppService.cs | 141 - .../MsgBaseData/Dics/DicAppService.cs | 95 - .../ExcludePartCfgAppService.cs | 370 - .../LogReminds/LogRemindAppService.cs | 376 - .../MsgBaseData/PartCfgs/PartCfgAppService.cs | 318 - .../PartSwitchs/PartSwitchAppService.cs | 342 - .../MsgCheck/BillM100s/BillM100AppService.cs | 480 - .../MsgCheck/BillM100s/NewM100AppService.cs | 633 - .../MsgCheck/BillR100s/BillR100AppService.cs | 545 - .../R100M100CompareAppService.cs | 296 - .../RepeatMessages/RepeatM100AppService.cs | 375 - .../RepeatMessages/RepeatR100AppService.cs | 326 - .../UnknownAssemblyAppService.cs | 820 - .../PaiGe/MsgTransmissionAppService.cs | 912 - .../PaiGe/MsgTransmissionWorker.cs | 81 - .../TianHe/AssemblySyncEventHandler.cs | 145 - .../TianHe/AssemblySyncWorker.cs | 102 - .../TianHe/BatchParseWorker.cs | 95 - .../TianHe/MsgTransmissionAppServiceTianHe.cs | 994 - .../TianHe/MsgTransmissionWorkerTianHe.cs | 81 - .../WY.NewJit.Application/NewJitAppService.cs | 18 - .../NewJitApplicationAutoMapperProfile.cs | 89 - .../NewJitApplicationModule.cs | 66 - .../Properties/AssemblyInfo.cs | 2 - .../WY.NewJit.Application.csproj | 42 - .../WY.NewJit.Application.xml | 1755 -- .../DbMigratorHostedService.cs | 43 - .../NewJitDbMigratorModule.cs | 20 - .../src/WY.NewJit.DbMigrator/Program.cs | 40 - .../WY.NewJit.DbMigrator.csproj | 41 - .../src/WY.NewJit.DbMigrator/appsettings.json | 34 - .../src/WY.NewJit.DbMigrator/tempkey.jwk | 1 - .../src/WY.NewJit.DbMigrator/tempkey.rsa | 13 - .../WY.NewJit.Domain.Shared/Books/BookType.cs | 19 - .../Common/ConfigDic.cs | 38 - .../Common/ExtMethod.cs | 397 - .../Common/ObjectResultDto.cs | 54 - .../Common/OurFileContainer.cs | 15 - .../Common/PagedAndSortedBase.cs | 25 - .../Common/PermutationAndCombination.cs | 148 - .../Common/ServerHelper.cs | 47 - .../Common/SwaggerGroupConsts.cs | 16 - .../Localization/NewJit/ar.json | 8 - .../Localization/NewJit/cs.json | 8 - .../Localization/NewJit/de-DE.json | 8 - .../Localization/NewJit/en-GB.json | 8 - .../Localization/NewJit/en.json | 8 - .../Localization/NewJit/es.json | 8 - .../Localization/NewJit/fr.json | 8 - .../Localization/NewJit/hu.json | 8 - .../Localization/NewJit/nl.json | 8 - .../Localization/NewJit/pl-PL.json | 8 - .../Localization/NewJit/pt-BR.json | 8 - .../Localization/NewJit/ru.json | 8 - .../Localization/NewJit/sl.json | 8 - .../Localization/NewJit/tr.json | 8 - .../Localization/NewJit/vi.json | 8 - .../Localization/NewJit/zh-Hans.json | 8 - .../Localization/NewJit/zh-Hant.json | 8 - .../Localization/NewJitResource.cs | 10 - .../MsgBaseData/LogTypeEnum.cs | 45 - .../MsgBaseData/SeriousLevelEnum.cs | 28 - .../MsgCheck/BillStatusEnum.cs | 39 - .../MsgCheck/ManualOperationTypeEnum.cs | 27 - .../MsgTransmission/ReceiveStatusEnum.cs | 28 - .../MsgTransmission/TransmissionModeType.cs | 29 - .../MultiTenancy/MultiTenancyConsts.cs | 11 - .../NewJitDomainErrorCodes.cs | 7 - .../NewJitDomainSharedModule.cs | 63 - .../NewJitGlobalFeatureConfigurator.cs | 23 - .../NewJitModuleExtensionConfigurator.cs | 72 - .../WY.NewJit.Domain.Shared.csproj | 33 - .../src/WY.NewJit.Domain/Books/Book.cs | 23 - .../Books/BookStoreDataSeederContributor.cs | 49 - .../Data/INewJitDbSchemaMigrator.cs | 9 - .../Data/NewJitDbMigrationService.cs | 220 - .../Data/NullNewJitDbSchemaMigrator.cs | 16 - .../IRepositories/INewJitDapperRepository.cs | 28 - .../IdentityServerDataSeedContributor.cs | 288 - .../MsgBaseData/Entitys/AssemblyCfgErp.cs | 104 - .../MsgBaseData/Entitys/AssemblyCfgPart.cs | 75 - .../MsgBaseData/Entitys/AssemblyCfgVehicle.cs | 56 - .../Entitys/AssemblyCfgVehicleChild.cs | 35 - .../MsgBaseData/Entitys/DicItem.cs | 44 - .../Entitys/DicItemDataSeederContributor.cs | 109 - .../MsgBaseData/Entitys/DicType.cs | 39 - .../MsgBaseData/Entitys/ErpAssembly2Part.cs | 49 - .../MsgBaseData/Entitys/ExcludePartCfg.cs | 55 - .../MsgBaseData/Entitys/LogRemind.cs | 57 - .../MsgBaseData/Entitys/PartCfg.cs | 85 - .../MsgBaseData/Entitys/PartCfgPaiGeExt.cs | 32 - .../MsgBaseData/Entitys/PartSwitch.cs | 34 - .../MsgBaseData/Entitys/V_Relationship.cs | 38 - .../Services/AssemblyDomainService.cs | 244 - .../MsgBaseData/Services/DicDomainService.cs | 53 - .../Services/LogRemindDomainService.cs | 36 - .../MsgCheck/Entitys/BillM100.cs | 193 - .../MsgCheck/Entitys/BillM100Part.cs | 59 - .../MsgCheck/Entitys/BillM110.cs | 109 - .../MsgCheck/Entitys/BillM110Part.cs | 46 - .../MsgCheck/Entitys/BillR100.cs | 135 - .../MsgCheck/Entitys/BillR100Part.cs | 53 - .../MsgCheck/Entitys/RepeatM100.cs | 121 - .../MsgCheck/Entitys/RepeatM100Part.cs | 54 - .../MsgCheck/Entitys/RepeatM110.cs | 93 - .../MsgCheck/Entitys/RepeatM110Part.cs | 44 - .../MsgCheck/Entitys/RepeatR100.cs | 99 - .../MsgCheck/Entitys/RepeatR100Part.cs | 45 - .../MsgCheck/Entitys/UnknownAssembly.cs | 75 - .../MsgCheck/Entitys/UnknownAssemblyPart.cs | 50 - .../Services/M100CheckDomainService.cs | 652 - .../Services/R100CheckDomainService.cs | 733 - .../MsgConversion/Entitys/BillSortCfg.cs | 39 - .../Entitys/MessageVersionCfg.cs | 45 - .../MessageVersionCfgDataSeederContributor.cs | 53 - .../MsgTransmission/Entitys/ConfigInfo.cs | 56 - .../MsgTransmission/Entitys/MessageInfo.cs | 32 - .../MsgTransmission/Entitys/MessageReceive.cs | 63 - .../Entitys/TransmissionModeCfg.cs | 45 - ...ransmissionModeCfgDataSeederContributor.cs | 46 - .../src/WY.NewJit.Domain/NewJitConsts.cs | 9 - .../WY.NewJit.Domain/NewJitDomainModule.cs | 46 - .../Properties/AssemblyInfo.cs | 3 - .../NewJitSettingDefinitionProvider.cs | 13 - .../Settings/NewJitSettings.cs | 10 - .../SettleAccountFIS/FISVersionEto.cs | 89 - .../SettleAccountFIS/FIS_TH.cs | 162 - .../TianHe/NotMatchTempBill.cs | 25 - .../WY.NewJit.Domain/TianHe/productdata_A.cs | 84 - .../src/WY.NewJit.Domain/Users/AppUser.cs | 63 - .../WY.NewJit.Domain/WY.NewJit.Domain.csproj | 37 - ...tityFrameworkCoreNewJitDbSchemaMigrator.cs | 35 - ...itEntityFrameworkCoreDbMigrationsModule.cs | 16 - .../NewJitMigrationsDbContext.cs | 48 - .../NewJitMigrationsDbContextFactory.cs | 33 - ...01012154_Created_NewJit_Entity.Designer.cs | 3966 ---- .../20210901012154_Created_NewJit_Entity.cs | 2185 --- ...reated_NewJit_Entity2021-09-02.Designer.cs | 3966 ---- ...2045945_Created_NewJit_Entity2021-09-02.cs | 50 - ...reated_NewJit_Entity2021-09-09.Designer.cs | 3969 ---- ...9004437_Created_NewJit_Entity2021-09-09.cs | 23 - ...reated_NewJit_Entity2021-09-16.Designer.cs | 3969 ---- ...6031559_Created_NewJit_Entity2021-09-16.cs | 17 - ...ated_NewJit_Entity2021-09-16_2.Designer.cs | 3993 ---- ...32129_Created_NewJit_Entity2021-09-16_2.cs | 31 - ...ted_NewJit_Entity2021-09-16_v1.Designer.cs | 3993 ---- ...3507_Created_NewJit_Entity2021-09-16_v1.cs | 17 - ...reated_NewJit_Entity2021-09-22.Designer.cs | 3996 ---- ...2015953_Created_NewJit_Entity2021-09-22.cs | 23 - ...reated_NewJit_Entity2021-09-23.Designer.cs | 3999 ---- ...3072857_Created_NewJit_Entity2021-09-23.cs | 23 - ...reated_NewJit_Entity2021-10-15.Designer.cs | 4002 ---- ...5062141_Created_NewJit_Entity2021-10-15.cs | 43 - ...reated_NewJit_Entity2021-10-22.Designer.cs | 4131 ----- ...2065604_Created_NewJit_Entity2021-10-22.cs | 309 - .../NewJitMigrationsDbContextModelSnapshot.cs | 4129 ----- ...it.EntityFrameworkCore.DbMigrations.csproj | 21 - .../ISettleAccountDbContext.cs | 13 - .../NewJitDapperRepository.cs | 124 - .../EntityFrameworkCore/NewJitDbContext.cs | 117 - .../NewJitDbContextModelCreatingExtensions.cs | 202 - .../NewJitEfCoreEntityExtensionMappings.cs | 45 - .../NewJitEntityFrameworkCoreModule.cs | 89 - .../SettleAccountDbContext.cs | 28 - ...AccountDbContextModelCreatingExtensions.cs | 78 - ...AccountModelBuilderConfigurationOptions.cs | 18 - .../SettleFis/FISRepository.cs | 69 - .../SettleFis/FISVersionRepository.cs | 60 - .../TianHe/TianHeDapperRepository.cs | 125 - .../TianHe/TianHeDbContext.cs | 53 - .../Properties/AssemblyInfo.cs | 2 - .../WY.NewJit.EntityFrameworkCore.csproj | 25 - .../NewJitHttpApiClientModule.cs | 33 - .../WY.NewJit.HttpApi.Client.csproj | 23 - .../Controllers/BlobFileController.cs | 36 - .../Controllers/NewJitController.cs | 15 - .../Models/Test/TestModel.cs | 11 - .../WY.NewJit.HttpApi/NewJitHttpApiModule.cs | 42 - .../WY.NewJit.HttpApi.csproj | 23 - .../Components/_ViewImports.cshtml | 4 - .../src/WY.NewJit.Web/JIS_BAK/JIT2.T105631 | 1 - .../src/WY.NewJit.Web/JIS_BAK/jit2.T105607 | 1 - .../Menus/NewJitMenuContributor.cs | 50 - .../src/WY.NewJit.Web/Menus/NewJitMenus.cs | 11 - .../WY.NewJit.Web/NewJitBrandingProvider.cs | 11 - .../NewJitWebAutoMapperProfile.cs | 12 - .../src/WY.NewJit.Web/NewJitWebModule.cs | 428 - .../src/WY.NewJit.Web/Pages/Index.cshtml | 163 - .../src/WY.NewJit.Web/Pages/Index.cshtml.cs | 10 - .../src/WY.NewJit.Web/Pages/Index.css | 3 - .../src/WY.NewJit.Web/Pages/Index.js | 3 - .../WY.NewJit.Web/Pages/NewJitPageModel.cs | 15 - .../WY.NewJit.Web/Pages/_ViewImports.cshtml | 4 - .../src/WY.NewJit.Web/Program.cs | 78 - .../WY.NewJit.Web/Properties/AssemblyInfo.cs | 2 - .../Properties/launchSettings.json | 27 - .../src/WY.NewJit.Web/Startup.cs | 18 - .../WY.NewJit.Web/Views/_ViewImports.cshtml | 4 - .../src/WY.NewJit.Web/WY.NewJit.Web.csproj | 61 - .../src/WY.NewJit.Web/WY.NewJit.Web.xml | 33 - .../src/WY.NewJit.Web/abp.resourcemapping.js | 8 - .../appsettings.Development.json1 | 19 - .../src/WY.NewJit.Web/appsettings.json | 239 - .../src/WY.NewJit.Web/gulpfile.js | 9 - .../src/WY.NewJit.Web/package.json | 8 - .../src/WY.NewJit.Web/tempkey.jwk | 1 - .../src/WY.NewJit.Web/tempkey.rsa | 1 - .../WY.NewJit.Web/wwwroot/global-styles.css | 1 - .../@fortawesome/fontawesome-free/css/all.css | 4586 ----- .../fontawesome-free/css/v4-shims.css | 2172 --- .../webfonts/fa-brands-400.eot | Bin 134878 -> 0 bytes .../webfonts/fa-brands-400.svg | 3633 ---- .../webfonts/fa-brands-400.ttf | Bin 134572 -> 0 bytes .../webfonts/fa-brands-400.woff | Bin 90872 -> 0 bytes .../webfonts/fa-brands-400.woff2 | Bin 77444 -> 0 bytes .../webfonts/fa-regular-400.eot | Bin 34390 -> 0 bytes .../webfonts/fa-regular-400.svg | 803 - .../webfonts/fa-regular-400.ttf | Bin 34092 -> 0 bytes .../webfonts/fa-regular-400.woff | Bin 16800 -> 0 bytes .../webfonts/fa-regular-400.woff2 | Bin 13596 -> 0 bytes .../webfonts/fa-solid-900.eot | Bin 204866 -> 0 bytes .../webfonts/fa-solid-900.svg | 5000 ----- .../webfonts/fa-solid-900.ttf | Bin 204580 -> 0 bytes .../webfonts/fa-solid-900.woff | Bin 104252 -> 0 bytes .../webfonts/fa-solid-900.woff2 | Bin 80328 -> 0 bytes .../wwwroot/libs/abp/core/abp.css | 56 - .../wwwroot/libs/abp/core/abp.js | 776 - .../wwwroot/libs/abp/jquery/abp.jquery.js | 404 - .../wwwroot/libs/abp/luxon/abp.luxon.js | 46 - .../wwwroot/libs/abp/utils/abp-utils.umd.js | 694 - .../libs/abp/utils/abp-utils.umd.js.map | 1 - .../libs/abp/utils/abp-utils.umd.min.js | 2 - .../libs/abp/utils/abp-utils.umd.min.js.map | 1 - .../bootstrap-datepicker.css.map | 1 - .../bootstrap-datepicker.min.css | 7 - .../bootstrap-datepicker.min.js | 8 - .../locales/bootstrap-datepicker-en-CA.min.js | 1 - .../locales/bootstrap-datepicker.ar-tn.min.js | 1 - .../locales/bootstrap-datepicker.ar.min.js | 1 - .../locales/bootstrap-datepicker.az.min.js | 1 - .../locales/bootstrap-datepicker.bg.min.js | 1 - .../locales/bootstrap-datepicker.bm.min.js | 1 - .../locales/bootstrap-datepicker.bn.min.js | 1 - .../locales/bootstrap-datepicker.br.min.js | 1 - .../locales/bootstrap-datepicker.bs.min.js | 1 - .../locales/bootstrap-datepicker.ca.min.js | 1 - .../locales/bootstrap-datepicker.cs.min.js | 1 - .../locales/bootstrap-datepicker.cy.min.js | 1 - .../locales/bootstrap-datepicker.da.min.js | 1 - .../locales/bootstrap-datepicker.de.min.js | 1 - .../locales/bootstrap-datepicker.el.min.js | 1 - .../locales/bootstrap-datepicker.en-AU.min.js | 1 - .../locales/bootstrap-datepicker.en-CA.min.js | 1 - .../locales/bootstrap-datepicker.en-GB.min.js | 1 - .../locales/bootstrap-datepicker.en-IE.min.js | 1 - .../locales/bootstrap-datepicker.en-NZ.min.js | 1 - .../locales/bootstrap-datepicker.en-ZA.min.js | 1 - .../locales/bootstrap-datepicker.eo.min.js | 1 - .../locales/bootstrap-datepicker.es.min.js | 1 - .../locales/bootstrap-datepicker.et.min.js | 1 - .../locales/bootstrap-datepicker.eu.min.js | 1 - .../locales/bootstrap-datepicker.fa.min.js | 1 - .../locales/bootstrap-datepicker.fi.min.js | 1 - .../locales/bootstrap-datepicker.fo.min.js | 1 - .../locales/bootstrap-datepicker.fr-CH.min.js | 1 - .../locales/bootstrap-datepicker.fr.min.js | 1 - .../locales/bootstrap-datepicker.gl.min.js | 1 - .../locales/bootstrap-datepicker.he.min.js | 1 - .../locales/bootstrap-datepicker.hi.min.js | 1 - .../locales/bootstrap-datepicker.hr.min.js | 1 - .../locales/bootstrap-datepicker.hu.min.js | 1 - .../locales/bootstrap-datepicker.hy.min.js | 1 - .../locales/bootstrap-datepicker.id.min.js | 1 - .../locales/bootstrap-datepicker.is.min.js | 1 - .../locales/bootstrap-datepicker.it-CH.min.js | 1 - .../locales/bootstrap-datepicker.it.min.js | 1 - .../locales/bootstrap-datepicker.ja.min.js | 1 - .../locales/bootstrap-datepicker.ka.min.js | 1 - .../locales/bootstrap-datepicker.kh.min.js | 1 - .../locales/bootstrap-datepicker.kk.min.js | 1 - .../locales/bootstrap-datepicker.km.min.js | 1 - .../locales/bootstrap-datepicker.ko.min.js | 1 - .../locales/bootstrap-datepicker.kr.min.js | 1 - .../locales/bootstrap-datepicker.lt.min.js | 1 - .../locales/bootstrap-datepicker.lv.min.js | 1 - .../locales/bootstrap-datepicker.me.min.js | 1 - .../locales/bootstrap-datepicker.mk.min.js | 1 - .../locales/bootstrap-datepicker.mn.min.js | 1 - .../locales/bootstrap-datepicker.ms.min.js | 1 - .../locales/bootstrap-datepicker.nl-BE.min.js | 1 - .../locales/bootstrap-datepicker.nl.min.js | 1 - .../locales/bootstrap-datepicker.no.min.js | 1 - .../locales/bootstrap-datepicker.oc.min.js | 1 - .../locales/bootstrap-datepicker.pl.min.js | 1 - .../locales/bootstrap-datepicker.pt-BR.min.js | 1 - .../locales/bootstrap-datepicker.pt.min.js | 1 - .../locales/bootstrap-datepicker.ro.min.js | 1 - .../bootstrap-datepicker.rs-latin.min.js | 1 - .../locales/bootstrap-datepicker.rs.min.js | 1 - .../locales/bootstrap-datepicker.ru.min.js | 1 - .../locales/bootstrap-datepicker.si.min.js | 1 - .../locales/bootstrap-datepicker.sk.min.js | 1 - .../locales/bootstrap-datepicker.sl.min.js | 1 - .../locales/bootstrap-datepicker.sq.min.js | 1 - .../bootstrap-datepicker.sr-latin.min.js | 1 - .../locales/bootstrap-datepicker.sr.min.js | 1 - .../locales/bootstrap-datepicker.sv.min.js | 1 - .../locales/bootstrap-datepicker.sw.min.js | 1 - .../locales/bootstrap-datepicker.ta.min.js | 1 - .../locales/bootstrap-datepicker.tg.min.js | 1 - .../locales/bootstrap-datepicker.th.min.js | 1 - .../locales/bootstrap-datepicker.tk.min.js | 1 - .../locales/bootstrap-datepicker.tr.min.js | 1 - .../locales/bootstrap-datepicker.uk.min.js | 1 - .../bootstrap-datepicker.uz-cyrl.min.js | 1 - .../bootstrap-datepicker.uz-latn.min.js | 1 - .../locales/bootstrap-datepicker.vi.min.js | 1 - .../locales/bootstrap-datepicker.zh-CN.min.js | 1 - .../locales/bootstrap-datepicker.zh-TW.min.js | 1 - .../libs/bootstrap/css/bootstrap-rtl.css | 11453 ------------ .../libs/bootstrap/css/bootstrap-rtl.css.map | 1 - .../libs/bootstrap/css/bootstrap-rtl.min.css | 7 - .../bootstrap/css/bootstrap-rtl.min.css.map | 1 - .../wwwroot/libs/bootstrap/css/bootstrap.css | 10298 ----------- .../libs/bootstrap/css/bootstrap.css.map | 1 - .../libs/bootstrap/css/bootstrap.min.css | 7 - .../libs/bootstrap/css/bootstrap.min.css.map | 1 - .../libs/bootstrap/js/bootstrap.bundle.js | 7045 ------- .../libs/bootstrap/js/bootstrap.bundle.js.map | 1 - .../libs/bootstrap/js/bootstrap.bundle.min.js | 7 - .../bootstrap/js/bootstrap.bundle.min.js.map | 1 - .../css/dataTables.bootstrap4.css | 212 - .../js/dataTables.bootstrap4.js | 184 - .../datatables.net/js/jquery.dataTables.js | 15354 ---------------- .../libs/jquery-form/jquery.form.min.js | 23 - .../libs/jquery-form/jquery.form.min.js.map | 1 - .../jquery.validate.unobtrusive.js | 432 - .../libs/jquery-validation/jquery.validate.js | 1601 -- .../localization/messages_ar.js | 35 - .../localization/messages_az.js | 35 - .../localization/messages_bg.js | 35 - .../localization/messages_bn_BD.js | 35 - .../localization/messages_ca.js | 35 - .../localization/messages_cs.js | 35 - .../localization/messages_da.js | 32 - .../localization/messages_de.js | 32 - .../localization/messages_el.js | 35 - .../localization/messages_es.js | 38 - .../localization/messages_es_AR.js | 39 - .../localization/messages_es_PE.js | 39 - .../localization/messages_et.js | 33 - .../localization/messages_eu.js | 35 - .../localization/messages_fa.js | 38 - .../localization/messages_fi.js | 33 - .../localization/messages_fr.js | 63 - .../localization/messages_ge.js | 35 - .../localization/messages_gl.js | 40 - .../localization/messages_he.js | 35 - .../localization/messages_hr.js | 35 - .../localization/messages_hu.js | 35 - .../localization/messages_hy_AM.js | 35 - .../localization/messages_id.js | 34 - .../localization/messages_is.js | 33 - .../localization/messages_it.js | 39 - .../localization/messages_ja.js | 36 - .../localization/messages_ka.js | 35 - .../localization/messages_kk.js | 35 - .../localization/messages_ko.js | 35 - .../localization/messages_lt.js | 35 - .../localization/messages_lv.js | 35 - .../localization/messages_mk.js | 35 - .../localization/messages_my.js | 35 - .../localization/messages_nl.js | 46 - .../localization/messages_no.js | 36 - .../localization/messages_pl.js | 37 - .../localization/messages_pt_BR.js | 88 - .../localization/messages_pt_PT.js | 39 - .../localization/messages_ro.js | 35 - .../localization/messages_ru.js | 35 - .../localization/messages_sd.js | 35 - .../localization/messages_si.js | 35 - .../localization/messages_sk.js | 32 - .../localization/messages_sl.js | 35 - .../localization/messages_sr.js | 35 - .../localization/messages_sr_lat.js | 35 - .../localization/messages_sv.js | 33 - .../localization/messages_th.js | 35 - .../localization/messages_tj.js | 35 - .../localization/messages_tr.js | 36 - .../localization/messages_uk.js | 35 - .../localization/messages_ur.js | 35 - .../localization/messages_vi.js | 35 - .../localization/messages_zh.js | 35 - .../localization/messages_zh_TW.js | 36 - .../localization/methods_de.js | 24 - .../localization/methods_es_CL.js | 24 - .../localization/methods_fi.js | 24 - .../localization/methods_nl.js | 24 - .../localization/methods_pt.js | 21 - .../wwwroot/libs/jquery/jquery.js | 10364 ----------- .../wwwroot/libs/lodash/lodash.min.js | 137 - .../WY.NewJit.Web/wwwroot/libs/luxon/luxon.js | 8258 --------- .../wwwroot/libs/luxon/luxon.js.map | 1 - .../wwwroot/libs/luxon/luxon.min.js | 1 - .../wwwroot/libs/luxon/luxon.min.js.map | 1 - .../jquery.mCustomScrollbar.concat.min.js | 5 - .../jquery.mCustomScrollbar.css | 1267 -- .../jquery.mCustomScrollbar.js | 2458 --- .../mCSB_buttons.png | Bin 2998 -> 0 bytes .../package.json | 37 - .../malihu-custom-scrollbar-plugin/readme.md | 82 - .../wwwroot/libs/select2/css/select2.min.css | 1 - .../wwwroot/libs/select2/js/i18n/af.js | 3 - .../wwwroot/libs/select2/js/i18n/ar.js | 3 - .../wwwroot/libs/select2/js/i18n/az.js | 3 - .../wwwroot/libs/select2/js/i18n/bg.js | 3 - .../wwwroot/libs/select2/js/i18n/bn.js | 3 - .../wwwroot/libs/select2/js/i18n/bs.js | 3 - .../wwwroot/libs/select2/js/i18n/ca.js | 3 - .../wwwroot/libs/select2/js/i18n/cs.js | 3 - .../wwwroot/libs/select2/js/i18n/da.js | 3 - .../wwwroot/libs/select2/js/i18n/de.js | 3 - .../wwwroot/libs/select2/js/i18n/dsb.js | 3 - .../wwwroot/libs/select2/js/i18n/el.js | 3 - .../wwwroot/libs/select2/js/i18n/en.js | 3 - .../wwwroot/libs/select2/js/i18n/es.js | 3 - .../wwwroot/libs/select2/js/i18n/et.js | 3 - .../wwwroot/libs/select2/js/i18n/eu.js | 3 - .../wwwroot/libs/select2/js/i18n/fa.js | 3 - .../wwwroot/libs/select2/js/i18n/fi.js | 3 - .../wwwroot/libs/select2/js/i18n/fr.js | 3 - .../wwwroot/libs/select2/js/i18n/gl.js | 3 - .../wwwroot/libs/select2/js/i18n/he.js | 3 - .../wwwroot/libs/select2/js/i18n/hi.js | 3 - .../wwwroot/libs/select2/js/i18n/hr.js | 3 - .../wwwroot/libs/select2/js/i18n/hsb.js | 3 - .../wwwroot/libs/select2/js/i18n/hu.js | 3 - .../wwwroot/libs/select2/js/i18n/hy.js | 3 - .../wwwroot/libs/select2/js/i18n/id.js | 3 - .../wwwroot/libs/select2/js/i18n/is.js | 3 - .../wwwroot/libs/select2/js/i18n/it.js | 3 - .../wwwroot/libs/select2/js/i18n/ja.js | 3 - .../wwwroot/libs/select2/js/i18n/ka.js | 3 - .../wwwroot/libs/select2/js/i18n/km.js | 3 - .../wwwroot/libs/select2/js/i18n/ko.js | 3 - .../wwwroot/libs/select2/js/i18n/lt.js | 3 - .../wwwroot/libs/select2/js/i18n/lv.js | 3 - .../wwwroot/libs/select2/js/i18n/mk.js | 3 - .../wwwroot/libs/select2/js/i18n/ms.js | 3 - .../wwwroot/libs/select2/js/i18n/nb.js | 3 - .../wwwroot/libs/select2/js/i18n/ne.js | 3 - .../wwwroot/libs/select2/js/i18n/nl.js | 3 - .../wwwroot/libs/select2/js/i18n/pl.js | 3 - .../wwwroot/libs/select2/js/i18n/ps.js | 3 - .../wwwroot/libs/select2/js/i18n/pt-BR.js | 3 - .../wwwroot/libs/select2/js/i18n/pt.js | 3 - .../wwwroot/libs/select2/js/i18n/ro.js | 3 - .../wwwroot/libs/select2/js/i18n/ru.js | 3 - .../wwwroot/libs/select2/js/i18n/sk.js | 3 - .../wwwroot/libs/select2/js/i18n/sl.js | 3 - .../wwwroot/libs/select2/js/i18n/sq.js | 3 - .../wwwroot/libs/select2/js/i18n/sr-Cyrl.js | 3 - .../wwwroot/libs/select2/js/i18n/sr.js | 3 - .../wwwroot/libs/select2/js/i18n/sv.js | 3 - .../wwwroot/libs/select2/js/i18n/th.js | 3 - .../wwwroot/libs/select2/js/i18n/tk.js | 3 - .../wwwroot/libs/select2/js/i18n/tr.js | 3 - .../wwwroot/libs/select2/js/i18n/uk.js | 3 - .../wwwroot/libs/select2/js/i18n/vi.js | 3 - .../wwwroot/libs/select2/js/i18n/zh-CN.js | 3 - .../wwwroot/libs/select2/js/i18n/zh-TW.js | 3 - .../js/select2-bootstrap-modal-patch.js | 4 - .../libs/select2/js/select2.full.min.js | 2 - .../wwwroot/libs/select2/js/select2.min.js | 2 - .../wwwroot/libs/sweetalert/sweetalert.min.js | 1 - .../wwwroot/libs/timeago/jquery.timeago.js | 232 - .../wwwroot/libs/timeago/locales/README.md | 27 - .../libs/timeago/locales/jquery.timeago.af.js | 30 - .../libs/timeago/locales/jquery.timeago.am.js | 30 - .../libs/timeago/locales/jquery.timeago.ar.js | 104 - .../locales/jquery.timeago.az-short.js | 30 - .../libs/timeago/locales/jquery.timeago.az.js | 30 - .../libs/timeago/locales/jquery.timeago.be.js | 43 - .../libs/timeago/locales/jquery.timeago.bg.js | 28 - .../libs/timeago/locales/jquery.timeago.bs.js | 55 - .../libs/timeago/locales/jquery.timeago.ca.js | 30 - .../libs/timeago/locales/jquery.timeago.cs.js | 34 - .../libs/timeago/locales/jquery.timeago.cy.js | 30 - .../libs/timeago/locales/jquery.timeago.da.js | 28 - .../locales/jquery.timeago.de-short.js | 30 - .../libs/timeago/locales/jquery.timeago.de.js | 28 - .../libs/timeago/locales/jquery.timeago.dv.js | 32 - .../libs/timeago/locales/jquery.timeago.el.js | 28 - .../locales/jquery.timeago.en-short.js | 30 - .../libs/timeago/locales/jquery.timeago.en.js | 30 - .../locales/jquery.timeago.es-short.js | 31 - .../libs/timeago/locales/jquery.timeago.es.js | 29 - .../libs/timeago/locales/jquery.timeago.et.js | 28 - .../libs/timeago/locales/jquery.timeago.eu.js | 28 - .../locales/jquery.timeago.fa-short.js | 30 - .../libs/timeago/locales/jquery.timeago.fa.js | 32 - .../libs/timeago/locales/jquery.timeago.fi.js | 38 - .../locales/jquery.timeago.fr-short.js | 26 - .../libs/timeago/locales/jquery.timeago.fr.js | 27 - .../libs/timeago/locales/jquery.timeago.gl.js | 28 - .../libs/timeago/locales/jquery.timeago.he.js | 26 - .../libs/timeago/locales/jquery.timeago.hr.js | 54 - .../libs/timeago/locales/jquery.timeago.hu.js | 28 - .../libs/timeago/locales/jquery.timeago.hy.js | 28 - .../libs/timeago/locales/jquery.timeago.id.js | 29 - .../libs/timeago/locales/jquery.timeago.is.js | 29 - .../locales/jquery.timeago.it-short.js | 30 - .../libs/timeago/locales/jquery.timeago.it.js | 28 - .../libs/timeago/locales/jquery.timeago.ja.js | 29 - .../libs/timeago/locales/jquery.timeago.jv.js | 28 - .../libs/timeago/locales/jquery.timeago.ko.js | 31 - .../libs/timeago/locales/jquery.timeago.ky.js | 42 - .../libs/timeago/locales/jquery.timeago.lt.js | 30 - .../libs/timeago/locales/jquery.timeago.lv.js | 30 - .../libs/timeago/locales/jquery.timeago.mk.js | 30 - .../libs/timeago/locales/jquery.timeago.nl.js | 30 - .../libs/timeago/locales/jquery.timeago.no.js | 28 - .../libs/timeago/locales/jquery.timeago.pl.js | 39 - .../locales/jquery.timeago.pt-br-short.js | 30 - .../timeago/locales/jquery.timeago.pt-br.js | 28 - .../locales/jquery.timeago.pt-short.js | 30 - .../libs/timeago/locales/jquery.timeago.pt.js | 26 - .../libs/timeago/locales/jquery.timeago.ro.js | 29 - .../libs/timeago/locales/jquery.timeago.rs.js | 54 - .../libs/timeago/locales/jquery.timeago.ru.js | 43 - .../libs/timeago/locales/jquery.timeago.rw.js | 30 - .../libs/timeago/locales/jquery.timeago.si.js | 28 - .../libs/timeago/locales/jquery.timeago.sk.js | 34 - .../libs/timeago/locales/jquery.timeago.sl.js | 46 - .../libs/timeago/locales/jquery.timeago.sq.js | 26 - .../libs/timeago/locales/jquery.timeago.sr.js | 54 - .../libs/timeago/locales/jquery.timeago.sv.js | 28 - .../libs/timeago/locales/jquery.timeago.th.js | 30 - .../locales/jquery.timeago.tr-short.js | 30 - .../libs/timeago/locales/jquery.timeago.tr.js | 26 - .../libs/timeago/locales/jquery.timeago.uk.js | 42 - .../libs/timeago/locales/jquery.timeago.ur.js | 30 - .../libs/timeago/locales/jquery.timeago.uz.js | 29 - .../libs/timeago/locales/jquery.timeago.vi.js | 30 - .../timeago/locales/jquery.timeago.zh-CN.js | 31 - .../timeago/locales/jquery.timeago.zh-TW.js | 30 - .../wwwroot/libs/toastr/toastr.css | 228 - .../wwwroot/libs/toastr/toastr.js.map | 1 - .../wwwroot/libs/toastr/toastr.min.css | 1 - .../wwwroot/libs/toastr/toastr.min.js | 2 - .../src/WY.NewJit.Web/yarn.lock | 2673 --- .../NewJitApplicationTestBase.cs | 7 - .../NewJitApplicationTestModule.cs | 13 - .../Samples/SampleAppServiceTests.cs | 33 - .../WY.NewJit.Application.Tests.csproj | 19 - .../NewJitDomainTestBase.cs | 7 - .../NewJitDomainTestModule.cs | 13 - .../Samples/SampleDomainTests.cs | 45 - .../WY.NewJit.Domain.Tests.csproj | 18 - .../NewJitEntityFrameworkCoreTestBase.cs | 9 - .../NewJitEntityFrameworkCoreTestModule.cs | 62 - .../Samples/SampleRepositoryTests.cs | 44 - ...WY.NewJit.EntityFrameworkCore.Tests.csproj | 20 - .../ClientDemoService.cs | 26 - .../ConsoleTestAppHostedService.cs | 26 - .../NewJitConsoleApiClientModule.cs | 29 - .../Program.cs | 21 - ...ewJit.HttpApi.Client.ConsoleTestApp.csproj | 29 - .../appsettings.json | 18 - .../test/WY.NewJit.TestBase/NewJitTestBase.cs | 61 - .../NewJitTestBaseModule.cs | 62 - .../NewJitTestDataSeedContributor.cs | 16 - .../Security/FakeCurrentPrincipalAccessor.cs | 43 - .../WY.NewJit.TestBase.csproj | 26 - .../WY.NewJit.Web.Tests/NewJitWebTestBase.cs | 39 - .../NewJitWebTestModule.cs | 69 - .../NewJitWebTestStartup.cs | 21 - .../WY.NewJit.Web.Tests/Pages/Index_Tests.cs | 16 - .../WY.NewJit.Web.Tests.csproj | 40 - .../WebContentDirectoryFinder.cs | 47 - .../WY.NewJit.Web.Tests/xunit.runner.json | 3 - code/src/Modules/派格FIS/.gitattributes | 1 - code/src/Modules/派格FIS/.gitignore | 262 - code/src/Modules/派格FIS/.prettierrc | 5 - code/src/Modules/派格FIS/NuGet.Config | 6 - code/src/Modules/派格FIS/WY.NewJit.sln | 137 - .../派格FIS/WY.NewJit.sln.DotSettings | 23 - code/src/Modules/派格FIS/common.props | 8 - .../Books/BookDto.cs | 16 - .../Books/CreateUpdateBookDto.cs | 22 - .../Books/IBookAppService.cs | 16 - .../Dtos/AssemblyCfgErp2PartDto.cs | 40 - .../AssemblyCfgs/Dtos/AssemblyCfgErpDto.cs | 49 - .../AssemblyCfgs/Dtos/AssemblyCfgPartDto.cs | 45 - .../Dtos/AssemblyCfgVehicle2PartDto.cs | 40 - .../Dtos/CreateUpdateAssemblyCfgErpDto.cs | 46 - .../Dtos/CreateUpdateAssemblyCfgPartDto.cs | 37 - .../Dtos/QueryAssemblyCfgErpDto.cs | 33 - .../Interfaces/IAssemblyCfgErpAppService.cs | 73 - .../Interfaces/IAssemblyCfgPartAppService.cs | 51 - .../IAssemblyCfgVehicleAppService.cs | 17 - .../MsgBaseData/Dics/Dtos/DicItemDto.cs | 31 - .../Dics/Interfaces/IDicAppService.cs | 22 - .../Dtos/CreateUpdateExcludePartCfgDto.cs | 33 - .../ExcludePartCfgs/Dtos/ExcludePartCfgDto.cs | 52 - .../Dtos/QueryExcludePartCfgDto.cs | 21 - .../Interfaces/IExcludePartCfgAppService.cs | 66 - .../Dtos/CreateUpdateLogRemindDto.cs | 47 - .../LogReminds/Dtos/LogRemindDto.cs | 54 - .../LogReminds/Dtos/QueryLogRemindDto.cs | 32 - .../Interfaces/ILogRemindAppService.cs | 81 - .../PartCfgs/Dtos/CreateUpdatePartCfgDto.cs | 64 - .../MsgBaseData/PartCfgs/Dtos/PartCfgDto.cs | 73 - .../PartCfgs/Dtos/QueryPartCfgDto.cs | 31 - .../PartCfgs/Interfaces/IPartCfgAppService.cs | 66 - .../Dtos/CreateUpdatePartSwitchDto.cs | 33 - .../PartSwitchs/Dtos/PartSwitchDto.cs | 57 - .../PartSwitchs/Dtos/QueryPartSwitchDto.cs | 34 - .../Interfaces/IPartSwitchAppService.cs | 66 - .../MsgCheck/BillM100s/Dtos/BillM100Dto.cs | 128 - .../BillM100s/Dtos/BillM100PartDto.cs | 38 - .../BillM100s/Dtos/CreateUpdateBillM100Dto.cs | 105 - .../Dtos/CreateUpdateBillM100PartDto.cs | 32 - .../BillM100s/Dtos/CreateUpdateNewM100Dto.cs | 19 - .../BillM100s/Dtos/MenBanPrintInfo.cs | 18 - .../MsgCheck/BillM100s/Dtos/NewM100Dto.cs | 19 - .../BillM100s/Dtos/QueryBillM100Dto.cs | 104 - .../BillM100s/Dtos/ResultBillM100Dto.cs | 139 - .../BillM100s/Dtos/ZhuHuBanPrintInfo.cs | 12 - .../Interfaces/IBillM100AppService.cs | 82 - .../Interfaces/INewM100AppService.cs | 76 - .../MsgCheck/BillR100s/Dtos/BillR100Dto.cs | 94 - .../BillR100s/Dtos/BillR100PartDto.cs | 38 - .../BillR100s/Dtos/CreateUpdateBillR100Dto.cs | 80 - .../Dtos/CreateUpdateBillR100PartDto.cs | 32 - .../BillR100s/Dtos/QueryBillR100Dto.cs | 77 - .../BillR100s/Dtos/ResultBillR100Dto.cs | 123 - .../Interfaces/IBillR100AppService.cs | 74 - .../IR100M100CompareAppService.cs | 33 - .../R100M100Compares/QueryCompareDto.cs | 114 - .../R100M100Compares/ResultCompareDto.cs | 116 - .../Dtos/CreateUpdateRepeatM100Dto.cs | 85 - .../Dtos/CreateUpdateRepeatM100PartDto.cs | 35 - .../RepeatMessages/Dtos/QueryRepeatM100Dto.cs | 87 - .../RepeatMessages/Dtos/RepeatM100Dto.cs | 115 - .../RepeatMessages/Dtos/RepeatM100PartDto.cs | 38 - .../Interfaces/IRepeatM100AppService.cs | 58 - .../R100Repeat/IRepeatR100AppService.cs | 51 - .../R100Repeat/QueryRepeatR100Dto.cs | 76 - .../R100Repeat/RepeatR100Dto.cs | 101 - .../R100Repeat/RepeatR100PartDto.cs | 38 - .../Dtos/AddAssemblyCfgDto.cs | 23 - .../UnknownAssemblys/Dtos/BatchParseParam.cs | 16 - .../UnknownAssemblys/Dtos/QueryBillInfoDto.cs | 21 - .../Dtos/QueryUnknownAssemblyDto.cs | 95 - .../Dtos/ResultUnknownAssemblyDto.cs | 100 - .../UnknownAssemblys/Dtos/ToParseInParam.cs | 21 - .../Dtos/UnknownAssemblyDto.cs | 42 - .../Dtos/UnknownAssemblyPartDto.cs | 32 - .../Interfaces/IUnknownAssemblyAppService.cs | 79 - .../MsgConversion/IMsgConversionAppService.cs | 15 - .../IMsgTransmissionAppService.cs | 17 - .../MsgTransmission/TianHe/AssemblySyncEto.cs | 16 - .../TianHe/AssemblySyncOperationType.cs | 17 - .../MsgTransmission/TransmissionParamDto.cs | 33 - .../NewJitApplicationContractsModule.cs | 29 - .../NewJitDtoExtensions.cs | 29 - .../NewJitPermissionDefinitionProvider.cs | 22 - .../Permissions/NewJitPermissions.cs | 10 - .../WY.NewJit.Application.Contracts.csproj | 34 - .../WY.NewJit.Application.Contracts.xml | 2567 --- .../Books/BookAppService.cs | 27 - .../AssemblyCfgs/AssemblyCfgErpAppService.cs | 461 - .../AssemblyCfgs/AssemblyCfgPartAppService.cs | 205 - .../AssemblyCfgVehicleAppService.cs | 141 - .../MsgBaseData/Dics/DicAppService.cs | 95 - .../ExcludePartCfgAppService.cs | 370 - .../LogReminds/LogRemindAppService.cs | 376 - .../MsgBaseData/PartCfgs/PartCfgAppService.cs | 318 - .../PartSwitchs/PartSwitchAppService.cs | 342 - .../MsgCheck/BillM100s/BillM100AppService.cs | 480 - .../MsgCheck/BillM100s/NewM100AppService.cs | 633 - .../MsgCheck/BillR100s/BillR100AppService.cs | 545 - .../R100M100CompareAppService.cs | 296 - .../RepeatMessages/RepeatM100AppService.cs | 375 - .../RepeatMessages/RepeatR100AppService.cs | 326 - .../UnknownAssemblyAppService.cs | 820 - .../PaiGe/MsgTransmissionAppService.cs | 912 - .../PaiGe/MsgTransmissionWorker.cs | 81 - .../TianHe/AssemblySyncEventHandler.cs | 145 - .../TianHe/AssemblySyncWorker.cs | 102 - .../TianHe/BatchParseWorker.cs | 95 - .../TianHe/MsgTransmissionAppServiceTianHe.cs | 994 - .../TianHe/MsgTransmissionWorkerTianHe.cs | 81 - .../WY.NewJit.Application/NewJitAppService.cs | 18 - .../NewJitApplicationAutoMapperProfile.cs | 89 - .../NewJitApplicationModule.cs | 66 - .../Properties/AssemblyInfo.cs | 2 - .../WY.NewJit.Application.csproj | 42 - .../WY.NewJit.Application.xml | 1755 -- .../DbMigratorHostedService.cs | 43 - .../NewJitDbMigratorModule.cs | 20 - .../src/WY.NewJit.DbMigrator/Program.cs | 40 - .../WY.NewJit.DbMigrator.csproj | 41 - .../src/WY.NewJit.DbMigrator/appsettings.json | 34 - .../src/WY.NewJit.DbMigrator/tempkey.jwk | 1 - .../src/WY.NewJit.DbMigrator/tempkey.rsa | 13 - .../WY.NewJit.Domain.Shared/Books/BookType.cs | 19 - .../Common/ConfigDic.cs | 38 - .../Common/ExtMethod.cs | 397 - .../Common/ObjectResultDto.cs | 54 - .../Common/OurFileContainer.cs | 15 - .../Common/PagedAndSortedBase.cs | 25 - .../Common/PermutationAndCombination.cs | 148 - .../Common/ServerHelper.cs | 47 - .../Common/SwaggerGroupConsts.cs | 16 - .../Localization/NewJit/ar.json | 8 - .../Localization/NewJit/cs.json | 8 - .../Localization/NewJit/de-DE.json | 8 - .../Localization/NewJit/en-GB.json | 8 - .../Localization/NewJit/en.json | 8 - .../Localization/NewJit/es.json | 8 - .../Localization/NewJit/fr.json | 8 - .../Localization/NewJit/hu.json | 8 - .../Localization/NewJit/nl.json | 8 - .../Localization/NewJit/pl-PL.json | 8 - .../Localization/NewJit/pt-BR.json | 8 - .../Localization/NewJit/ru.json | 8 - .../Localization/NewJit/sl.json | 8 - .../Localization/NewJit/tr.json | 8 - .../Localization/NewJit/vi.json | 8 - .../Localization/NewJit/zh-Hans.json | 8 - .../Localization/NewJit/zh-Hant.json | 8 - .../Localization/NewJitResource.cs | 10 - .../MsgBaseData/LogTypeEnum.cs | 45 - .../MsgBaseData/SeriousLevelEnum.cs | 28 - .../MsgCheck/BillStatusEnum.cs | 39 - .../MsgCheck/ManualOperationTypeEnum.cs | 27 - .../MsgTransmission/ReceiveStatusEnum.cs | 28 - .../MsgTransmission/TransmissionModeType.cs | 29 - .../MultiTenancy/MultiTenancyConsts.cs | 11 - .../NewJitDomainErrorCodes.cs | 7 - .../NewJitDomainSharedModule.cs | 63 - .../NewJitGlobalFeatureConfigurator.cs | 23 - .../NewJitModuleExtensionConfigurator.cs | 72 - .../WY.NewJit.Domain.Shared.csproj | 33 - .../src/WY.NewJit.Domain/Books/Book.cs | 23 - .../Books/BookStoreDataSeederContributor.cs | 49 - .../Data/INewJitDbSchemaMigrator.cs | 9 - .../Data/NewJitDbMigrationService.cs | 220 - .../Data/NullNewJitDbSchemaMigrator.cs | 16 - .../IRepositories/INewJitDapperRepository.cs | 28 - .../IdentityServerDataSeedContributor.cs | 288 - .../MsgBaseData/Entitys/AssemblyCfgErp.cs | 104 - .../MsgBaseData/Entitys/AssemblyCfgPart.cs | 75 - .../MsgBaseData/Entitys/AssemblyCfgVehicle.cs | 56 - .../Entitys/AssemblyCfgVehicleChild.cs | 35 - .../MsgBaseData/Entitys/DicItem.cs | 44 - .../Entitys/DicItemDataSeederContributor.cs | 109 - .../MsgBaseData/Entitys/DicType.cs | 39 - .../MsgBaseData/Entitys/ErpAssembly2Part.cs | 49 - .../MsgBaseData/Entitys/ExcludePartCfg.cs | 55 - .../MsgBaseData/Entitys/LogRemind.cs | 57 - .../MsgBaseData/Entitys/PartCfg.cs | 85 - .../MsgBaseData/Entitys/PartCfgPaiGeExt.cs | 32 - .../MsgBaseData/Entitys/PartSwitch.cs | 34 - .../MsgBaseData/Entitys/V_Relationship.cs | 38 - .../Services/AssemblyDomainService.cs | 244 - .../MsgBaseData/Services/DicDomainService.cs | 53 - .../Services/LogRemindDomainService.cs | 36 - .../MsgCheck/Entitys/BillM100.cs | 193 - .../MsgCheck/Entitys/BillM100Part.cs | 59 - .../MsgCheck/Entitys/BillM110.cs | 109 - .../MsgCheck/Entitys/BillM110Part.cs | 46 - .../MsgCheck/Entitys/BillR100.cs | 135 - .../MsgCheck/Entitys/BillR100Part.cs | 53 - .../MsgCheck/Entitys/RepeatM100.cs | 121 - .../MsgCheck/Entitys/RepeatM100Part.cs | 54 - .../MsgCheck/Entitys/RepeatM110.cs | 93 - .../MsgCheck/Entitys/RepeatM110Part.cs | 44 - .../MsgCheck/Entitys/RepeatR100.cs | 99 - .../MsgCheck/Entitys/RepeatR100Part.cs | 45 - .../MsgCheck/Entitys/UnknownAssembly.cs | 75 - .../MsgCheck/Entitys/UnknownAssemblyPart.cs | 50 - .../Services/M100CheckDomainService.cs | 652 - .../Services/R100CheckDomainService.cs | 733 - .../MsgConversion/Entitys/BillSortCfg.cs | 39 - .../Entitys/MessageVersionCfg.cs | 45 - .../MessageVersionCfgDataSeederContributor.cs | 53 - .../MsgTransmission/Entitys/ConfigInfo.cs | 56 - .../MsgTransmission/Entitys/MessageInfo.cs | 32 - .../MsgTransmission/Entitys/MessageReceive.cs | 63 - .../Entitys/TransmissionModeCfg.cs | 45 - ...ransmissionModeCfgDataSeederContributor.cs | 46 - .../src/WY.NewJit.Domain/NewJitConsts.cs | 9 - .../WY.NewJit.Domain/NewJitDomainModule.cs | 46 - .../Properties/AssemblyInfo.cs | 3 - .../NewJitSettingDefinitionProvider.cs | 13 - .../Settings/NewJitSettings.cs | 10 - .../SettleAccountFIS/FISVersionEto.cs | 89 - .../SettleAccountFIS/FIS_TH.cs | 162 - .../TianHe/NotMatchTempBill.cs | 25 - .../WY.NewJit.Domain/TianHe/productdata_A.cs | 84 - .../src/WY.NewJit.Domain/Users/AppUser.cs | 63 - .../WY.NewJit.Domain/WY.NewJit.Domain.csproj | 37 - ...tityFrameworkCoreNewJitDbSchemaMigrator.cs | 35 - ...itEntityFrameworkCoreDbMigrationsModule.cs | 16 - .../NewJitMigrationsDbContext.cs | 48 - .../NewJitMigrationsDbContextFactory.cs | 33 - ...01012154_Created_NewJit_Entity.Designer.cs | 3966 ---- .../20210901012154_Created_NewJit_Entity.cs | 2185 --- ...reated_NewJit_Entity2021-09-02.Designer.cs | 3966 ---- ...2045945_Created_NewJit_Entity2021-09-02.cs | 50 - ...reated_NewJit_Entity2021-09-09.Designer.cs | 3969 ---- ...9004437_Created_NewJit_Entity2021-09-09.cs | 23 - ...reated_NewJit_Entity2021-09-16.Designer.cs | 3969 ---- ...6031559_Created_NewJit_Entity2021-09-16.cs | 17 - ...ated_NewJit_Entity2021-09-16_2.Designer.cs | 3993 ---- ...32129_Created_NewJit_Entity2021-09-16_2.cs | 31 - ...ted_NewJit_Entity2021-09-16_v1.Designer.cs | 3993 ---- ...3507_Created_NewJit_Entity2021-09-16_v1.cs | 17 - ...reated_NewJit_Entity2021-09-22.Designer.cs | 3996 ---- ...2015953_Created_NewJit_Entity2021-09-22.cs | 23 - ...reated_NewJit_Entity2021-09-23.Designer.cs | 3999 ---- ...3072857_Created_NewJit_Entity2021-09-23.cs | 23 - ...reated_NewJit_Entity2021-10-15.Designer.cs | 4002 ---- ...5062141_Created_NewJit_Entity2021-10-15.cs | 43 - ...reated_NewJit_Entity2021-10-22.Designer.cs | 4131 ----- ...2065604_Created_NewJit_Entity2021-10-22.cs | 309 - .../NewJitMigrationsDbContextModelSnapshot.cs | 4129 ----- ...it.EntityFrameworkCore.DbMigrations.csproj | 21 - .../ISettleAccountDbContext.cs | 13 - .../NewJitDapperRepository.cs | 124 - .../EntityFrameworkCore/NewJitDbContext.cs | 117 - .../NewJitDbContextModelCreatingExtensions.cs | 202 - .../NewJitEfCoreEntityExtensionMappings.cs | 45 - .../NewJitEntityFrameworkCoreModule.cs | 89 - .../SettleAccountDbContext.cs | 28 - ...AccountDbContextModelCreatingExtensions.cs | 78 - ...AccountModelBuilderConfigurationOptions.cs | 18 - .../SettleFis/FISRepository.cs | 69 - .../SettleFis/FISVersionRepository.cs | 60 - .../TianHe/TianHeDapperRepository.cs | 125 - .../TianHe/TianHeDbContext.cs | 53 - .../Properties/AssemblyInfo.cs | 2 - .../WY.NewJit.EntityFrameworkCore.csproj | 25 - .../NewJitHttpApiClientModule.cs | 33 - .../WY.NewJit.HttpApi.Client.csproj | 23 - .../Controllers/BlobFileController.cs | 36 - .../Controllers/NewJitController.cs | 15 - .../Models/Test/TestModel.cs | 11 - .../WY.NewJit.HttpApi/NewJitHttpApiModule.cs | 42 - .../WY.NewJit.HttpApi.csproj | 23 - .../Components/_ViewImports.cshtml | 4 - .../src/WY.NewJit.Web/JIS_BAK/JIT2.T105631 | 1 - .../src/WY.NewJit.Web/JIS_BAK/jit2.T105607 | 1 - .../Menus/NewJitMenuContributor.cs | 50 - .../src/WY.NewJit.Web/Menus/NewJitMenus.cs | 11 - .../WY.NewJit.Web/NewJitBrandingProvider.cs | 11 - .../NewJitWebAutoMapperProfile.cs | 12 - .../src/WY.NewJit.Web/NewJitWebModule.cs | 428 - .../src/WY.NewJit.Web/Pages/Index.cshtml | 163 - .../src/WY.NewJit.Web/Pages/Index.cshtml.cs | 10 - .../src/WY.NewJit.Web/Pages/Index.css | 3 - .../src/WY.NewJit.Web/Pages/Index.js | 3 - .../WY.NewJit.Web/Pages/NewJitPageModel.cs | 15 - .../WY.NewJit.Web/Pages/_ViewImports.cshtml | 4 - .../派格FIS/src/WY.NewJit.Web/Program.cs | 78 - .../WY.NewJit.Web/Properties/AssemblyInfo.cs | 2 - .../Properties/launchSettings.json | 27 - .../派格FIS/src/WY.NewJit.Web/Startup.cs | 18 - .../WY.NewJit.Web/Views/_ViewImports.cshtml | 4 - .../src/WY.NewJit.Web/WY.NewJit.Web.csproj | 61 - .../src/WY.NewJit.Web/WY.NewJit.Web.xml | 33 - .../src/WY.NewJit.Web/abp.resourcemapping.js | 8 - .../appsettings.Development.json1 | 19 - .../src/WY.NewJit.Web/appsettings.json | 239 - .../派格FIS/src/WY.NewJit.Web/gulpfile.js | 9 - .../派格FIS/src/WY.NewJit.Web/package.json | 8 - .../派格FIS/src/WY.NewJit.Web/tempkey.jwk | 1 - .../派格FIS/src/WY.NewJit.Web/tempkey.rsa | 1 - .../WY.NewJit.Web/wwwroot/global-styles.css | 1 - .../@fortawesome/fontawesome-free/css/all.css | 4586 ----- .../fontawesome-free/css/v4-shims.css | 2172 --- .../webfonts/fa-brands-400.eot | Bin 134878 -> 0 bytes .../webfonts/fa-brands-400.svg | 3633 ---- .../webfonts/fa-brands-400.ttf | Bin 134572 -> 0 bytes .../webfonts/fa-brands-400.woff | Bin 90872 -> 0 bytes .../webfonts/fa-brands-400.woff2 | Bin 77444 -> 0 bytes .../webfonts/fa-regular-400.eot | Bin 34390 -> 0 bytes .../webfonts/fa-regular-400.svg | 803 - .../webfonts/fa-regular-400.ttf | Bin 34092 -> 0 bytes .../webfonts/fa-regular-400.woff | Bin 16800 -> 0 bytes .../webfonts/fa-regular-400.woff2 | Bin 13596 -> 0 bytes .../webfonts/fa-solid-900.eot | Bin 204866 -> 0 bytes .../webfonts/fa-solid-900.svg | 5000 ----- .../webfonts/fa-solid-900.ttf | Bin 204580 -> 0 bytes .../webfonts/fa-solid-900.woff | Bin 104252 -> 0 bytes .../webfonts/fa-solid-900.woff2 | Bin 80328 -> 0 bytes .../wwwroot/libs/abp/core/abp.css | 56 - .../wwwroot/libs/abp/core/abp.js | 776 - .../wwwroot/libs/abp/jquery/abp.jquery.js | 404 - .../wwwroot/libs/abp/luxon/abp.luxon.js | 46 - .../wwwroot/libs/abp/utils/abp-utils.umd.js | 694 - .../libs/abp/utils/abp-utils.umd.js.map | 1 - .../libs/abp/utils/abp-utils.umd.min.js | 2 - .../libs/abp/utils/abp-utils.umd.min.js.map | 1 - .../bootstrap-datepicker.css.map | 1 - .../bootstrap-datepicker.min.css | 7 - .../bootstrap-datepicker.min.js | 8 - .../locales/bootstrap-datepicker-en-CA.min.js | 1 - .../locales/bootstrap-datepicker.ar-tn.min.js | 1 - .../locales/bootstrap-datepicker.ar.min.js | 1 - .../locales/bootstrap-datepicker.az.min.js | 1 - .../locales/bootstrap-datepicker.bg.min.js | 1 - .../locales/bootstrap-datepicker.bm.min.js | 1 - .../locales/bootstrap-datepicker.bn.min.js | 1 - .../locales/bootstrap-datepicker.br.min.js | 1 - .../locales/bootstrap-datepicker.bs.min.js | 1 - .../locales/bootstrap-datepicker.ca.min.js | 1 - .../locales/bootstrap-datepicker.cs.min.js | 1 - .../locales/bootstrap-datepicker.cy.min.js | 1 - .../locales/bootstrap-datepicker.da.min.js | 1 - .../locales/bootstrap-datepicker.de.min.js | 1 - .../locales/bootstrap-datepicker.el.min.js | 1 - .../locales/bootstrap-datepicker.en-AU.min.js | 1 - .../locales/bootstrap-datepicker.en-CA.min.js | 1 - .../locales/bootstrap-datepicker.en-GB.min.js | 1 - .../locales/bootstrap-datepicker.en-IE.min.js | 1 - .../locales/bootstrap-datepicker.en-NZ.min.js | 1 - .../locales/bootstrap-datepicker.en-ZA.min.js | 1 - .../locales/bootstrap-datepicker.eo.min.js | 1 - .../locales/bootstrap-datepicker.es.min.js | 1 - .../locales/bootstrap-datepicker.et.min.js | 1 - .../locales/bootstrap-datepicker.eu.min.js | 1 - .../locales/bootstrap-datepicker.fa.min.js | 1 - .../locales/bootstrap-datepicker.fi.min.js | 1 - .../locales/bootstrap-datepicker.fo.min.js | 1 - .../locales/bootstrap-datepicker.fr-CH.min.js | 1 - .../locales/bootstrap-datepicker.fr.min.js | 1 - .../locales/bootstrap-datepicker.gl.min.js | 1 - .../locales/bootstrap-datepicker.he.min.js | 1 - .../locales/bootstrap-datepicker.hi.min.js | 1 - .../locales/bootstrap-datepicker.hr.min.js | 1 - .../locales/bootstrap-datepicker.hu.min.js | 1 - .../locales/bootstrap-datepicker.hy.min.js | 1 - .../locales/bootstrap-datepicker.id.min.js | 1 - .../locales/bootstrap-datepicker.is.min.js | 1 - .../locales/bootstrap-datepicker.it-CH.min.js | 1 - .../locales/bootstrap-datepicker.it.min.js | 1 - .../locales/bootstrap-datepicker.ja.min.js | 1 - .../locales/bootstrap-datepicker.ka.min.js | 1 - .../locales/bootstrap-datepicker.kh.min.js | 1 - .../locales/bootstrap-datepicker.kk.min.js | 1 - .../locales/bootstrap-datepicker.km.min.js | 1 - .../locales/bootstrap-datepicker.ko.min.js | 1 - .../locales/bootstrap-datepicker.kr.min.js | 1 - .../locales/bootstrap-datepicker.lt.min.js | 1 - .../locales/bootstrap-datepicker.lv.min.js | 1 - .../locales/bootstrap-datepicker.me.min.js | 1 - .../locales/bootstrap-datepicker.mk.min.js | 1 - .../locales/bootstrap-datepicker.mn.min.js | 1 - .../locales/bootstrap-datepicker.ms.min.js | 1 - .../locales/bootstrap-datepicker.nl-BE.min.js | 1 - .../locales/bootstrap-datepicker.nl.min.js | 1 - .../locales/bootstrap-datepicker.no.min.js | 1 - .../locales/bootstrap-datepicker.oc.min.js | 1 - .../locales/bootstrap-datepicker.pl.min.js | 1 - .../locales/bootstrap-datepicker.pt-BR.min.js | 1 - .../locales/bootstrap-datepicker.pt.min.js | 1 - .../locales/bootstrap-datepicker.ro.min.js | 1 - .../bootstrap-datepicker.rs-latin.min.js | 1 - .../locales/bootstrap-datepicker.rs.min.js | 1 - .../locales/bootstrap-datepicker.ru.min.js | 1 - .../locales/bootstrap-datepicker.si.min.js | 1 - .../locales/bootstrap-datepicker.sk.min.js | 1 - .../locales/bootstrap-datepicker.sl.min.js | 1 - .../locales/bootstrap-datepicker.sq.min.js | 1 - .../bootstrap-datepicker.sr-latin.min.js | 1 - .../locales/bootstrap-datepicker.sr.min.js | 1 - .../locales/bootstrap-datepicker.sv.min.js | 1 - .../locales/bootstrap-datepicker.sw.min.js | 1 - .../locales/bootstrap-datepicker.ta.min.js | 1 - .../locales/bootstrap-datepicker.tg.min.js | 1 - .../locales/bootstrap-datepicker.th.min.js | 1 - .../locales/bootstrap-datepicker.tk.min.js | 1 - .../locales/bootstrap-datepicker.tr.min.js | 1 - .../locales/bootstrap-datepicker.uk.min.js | 1 - .../bootstrap-datepicker.uz-cyrl.min.js | 1 - .../bootstrap-datepicker.uz-latn.min.js | 1 - .../locales/bootstrap-datepicker.vi.min.js | 1 - .../locales/bootstrap-datepicker.zh-CN.min.js | 1 - .../locales/bootstrap-datepicker.zh-TW.min.js | 1 - .../libs/bootstrap/css/bootstrap-rtl.css | 11453 ------------ .../libs/bootstrap/css/bootstrap-rtl.css.map | 1 - .../libs/bootstrap/css/bootstrap-rtl.min.css | 7 - .../bootstrap/css/bootstrap-rtl.min.css.map | 1 - .../wwwroot/libs/bootstrap/css/bootstrap.css | 10298 ----------- .../libs/bootstrap/css/bootstrap.css.map | 1 - .../libs/bootstrap/css/bootstrap.min.css | 7 - .../libs/bootstrap/css/bootstrap.min.css.map | 1 - .../libs/bootstrap/js/bootstrap.bundle.js | 7045 ------- .../libs/bootstrap/js/bootstrap.bundle.js.map | 1 - .../libs/bootstrap/js/bootstrap.bundle.min.js | 7 - .../bootstrap/js/bootstrap.bundle.min.js.map | 1 - .../css/dataTables.bootstrap4.css | 212 - .../js/dataTables.bootstrap4.js | 184 - .../datatables.net/js/jquery.dataTables.js | 15354 ---------------- .../libs/jquery-form/jquery.form.min.js | 23 - .../libs/jquery-form/jquery.form.min.js.map | 1 - .../jquery.validate.unobtrusive.js | 432 - .../libs/jquery-validation/jquery.validate.js | 1601 -- .../localization/messages_ar.js | 35 - .../localization/messages_az.js | 35 - .../localization/messages_bg.js | 35 - .../localization/messages_bn_BD.js | 35 - .../localization/messages_ca.js | 35 - .../localization/messages_cs.js | 35 - .../localization/messages_da.js | 32 - .../localization/messages_de.js | 32 - .../localization/messages_el.js | 35 - .../localization/messages_es.js | 38 - .../localization/messages_es_AR.js | 39 - .../localization/messages_es_PE.js | 39 - .../localization/messages_et.js | 33 - .../localization/messages_eu.js | 35 - .../localization/messages_fa.js | 38 - .../localization/messages_fi.js | 33 - .../localization/messages_fr.js | 63 - .../localization/messages_ge.js | 35 - .../localization/messages_gl.js | 40 - .../localization/messages_he.js | 35 - .../localization/messages_hr.js | 35 - .../localization/messages_hu.js | 35 - .../localization/messages_hy_AM.js | 35 - .../localization/messages_id.js | 34 - .../localization/messages_is.js | 33 - .../localization/messages_it.js | 39 - .../localization/messages_ja.js | 36 - .../localization/messages_ka.js | 35 - .../localization/messages_kk.js | 35 - .../localization/messages_ko.js | 35 - .../localization/messages_lt.js | 35 - .../localization/messages_lv.js | 35 - .../localization/messages_mk.js | 35 - .../localization/messages_my.js | 35 - .../localization/messages_nl.js | 46 - .../localization/messages_no.js | 36 - .../localization/messages_pl.js | 37 - .../localization/messages_pt_BR.js | 88 - .../localization/messages_pt_PT.js | 39 - .../localization/messages_ro.js | 35 - .../localization/messages_ru.js | 35 - .../localization/messages_sd.js | 35 - .../localization/messages_si.js | 35 - .../localization/messages_sk.js | 32 - .../localization/messages_sl.js | 35 - .../localization/messages_sr.js | 35 - .../localization/messages_sr_lat.js | 35 - .../localization/messages_sv.js | 33 - .../localization/messages_th.js | 35 - .../localization/messages_tj.js | 35 - .../localization/messages_tr.js | 36 - .../localization/messages_uk.js | 35 - .../localization/messages_ur.js | 35 - .../localization/messages_vi.js | 35 - .../localization/messages_zh.js | 35 - .../localization/messages_zh_TW.js | 36 - .../localization/methods_de.js | 24 - .../localization/methods_es_CL.js | 24 - .../localization/methods_fi.js | 24 - .../localization/methods_nl.js | 24 - .../localization/methods_pt.js | 21 - .../wwwroot/libs/jquery/jquery.js | 10364 ----------- .../wwwroot/libs/lodash/lodash.min.js | 137 - .../WY.NewJit.Web/wwwroot/libs/luxon/luxon.js | 8258 --------- .../wwwroot/libs/luxon/luxon.js.map | 1 - .../wwwroot/libs/luxon/luxon.min.js | 1 - .../wwwroot/libs/luxon/luxon.min.js.map | 1 - .../jquery.mCustomScrollbar.concat.min.js | 5 - .../jquery.mCustomScrollbar.css | 1267 -- .../jquery.mCustomScrollbar.js | 2458 --- .../mCSB_buttons.png | Bin 2998 -> 0 bytes .../package.json | 37 - .../malihu-custom-scrollbar-plugin/readme.md | 82 - .../wwwroot/libs/select2/css/select2.min.css | 1 - .../wwwroot/libs/select2/js/i18n/af.js | 3 - .../wwwroot/libs/select2/js/i18n/ar.js | 3 - .../wwwroot/libs/select2/js/i18n/az.js | 3 - .../wwwroot/libs/select2/js/i18n/bg.js | 3 - .../wwwroot/libs/select2/js/i18n/bn.js | 3 - .../wwwroot/libs/select2/js/i18n/bs.js | 3 - .../wwwroot/libs/select2/js/i18n/ca.js | 3 - .../wwwroot/libs/select2/js/i18n/cs.js | 3 - .../wwwroot/libs/select2/js/i18n/da.js | 3 - .../wwwroot/libs/select2/js/i18n/de.js | 3 - .../wwwroot/libs/select2/js/i18n/dsb.js | 3 - .../wwwroot/libs/select2/js/i18n/el.js | 3 - .../wwwroot/libs/select2/js/i18n/en.js | 3 - .../wwwroot/libs/select2/js/i18n/es.js | 3 - .../wwwroot/libs/select2/js/i18n/et.js | 3 - .../wwwroot/libs/select2/js/i18n/eu.js | 3 - .../wwwroot/libs/select2/js/i18n/fa.js | 3 - .../wwwroot/libs/select2/js/i18n/fi.js | 3 - .../wwwroot/libs/select2/js/i18n/fr.js | 3 - .../wwwroot/libs/select2/js/i18n/gl.js | 3 - .../wwwroot/libs/select2/js/i18n/he.js | 3 - .../wwwroot/libs/select2/js/i18n/hi.js | 3 - .../wwwroot/libs/select2/js/i18n/hr.js | 3 - .../wwwroot/libs/select2/js/i18n/hsb.js | 3 - .../wwwroot/libs/select2/js/i18n/hu.js | 3 - .../wwwroot/libs/select2/js/i18n/hy.js | 3 - .../wwwroot/libs/select2/js/i18n/id.js | 3 - .../wwwroot/libs/select2/js/i18n/is.js | 3 - .../wwwroot/libs/select2/js/i18n/it.js | 3 - .../wwwroot/libs/select2/js/i18n/ja.js | 3 - .../wwwroot/libs/select2/js/i18n/ka.js | 3 - .../wwwroot/libs/select2/js/i18n/km.js | 3 - .../wwwroot/libs/select2/js/i18n/ko.js | 3 - .../wwwroot/libs/select2/js/i18n/lt.js | 3 - .../wwwroot/libs/select2/js/i18n/lv.js | 3 - .../wwwroot/libs/select2/js/i18n/mk.js | 3 - .../wwwroot/libs/select2/js/i18n/ms.js | 3 - .../wwwroot/libs/select2/js/i18n/nb.js | 3 - .../wwwroot/libs/select2/js/i18n/ne.js | 3 - .../wwwroot/libs/select2/js/i18n/nl.js | 3 - .../wwwroot/libs/select2/js/i18n/pl.js | 3 - .../wwwroot/libs/select2/js/i18n/ps.js | 3 - .../wwwroot/libs/select2/js/i18n/pt-BR.js | 3 - .../wwwroot/libs/select2/js/i18n/pt.js | 3 - .../wwwroot/libs/select2/js/i18n/ro.js | 3 - .../wwwroot/libs/select2/js/i18n/ru.js | 3 - .../wwwroot/libs/select2/js/i18n/sk.js | 3 - .../wwwroot/libs/select2/js/i18n/sl.js | 3 - .../wwwroot/libs/select2/js/i18n/sq.js | 3 - .../wwwroot/libs/select2/js/i18n/sr-Cyrl.js | 3 - .../wwwroot/libs/select2/js/i18n/sr.js | 3 - .../wwwroot/libs/select2/js/i18n/sv.js | 3 - .../wwwroot/libs/select2/js/i18n/th.js | 3 - .../wwwroot/libs/select2/js/i18n/tk.js | 3 - .../wwwroot/libs/select2/js/i18n/tr.js | 3 - .../wwwroot/libs/select2/js/i18n/uk.js | 3 - .../wwwroot/libs/select2/js/i18n/vi.js | 3 - .../wwwroot/libs/select2/js/i18n/zh-CN.js | 3 - .../wwwroot/libs/select2/js/i18n/zh-TW.js | 3 - .../js/select2-bootstrap-modal-patch.js | 4 - .../libs/select2/js/select2.full.min.js | 2 - .../wwwroot/libs/select2/js/select2.min.js | 2 - .../wwwroot/libs/sweetalert/sweetalert.min.js | 1 - .../wwwroot/libs/timeago/jquery.timeago.js | 232 - .../wwwroot/libs/timeago/locales/README.md | 27 - .../libs/timeago/locales/jquery.timeago.af.js | 30 - .../libs/timeago/locales/jquery.timeago.am.js | 30 - .../libs/timeago/locales/jquery.timeago.ar.js | 104 - .../locales/jquery.timeago.az-short.js | 30 - .../libs/timeago/locales/jquery.timeago.az.js | 30 - .../libs/timeago/locales/jquery.timeago.be.js | 43 - .../libs/timeago/locales/jquery.timeago.bg.js | 28 - .../libs/timeago/locales/jquery.timeago.bs.js | 55 - .../libs/timeago/locales/jquery.timeago.ca.js | 30 - .../libs/timeago/locales/jquery.timeago.cs.js | 34 - .../libs/timeago/locales/jquery.timeago.cy.js | 30 - .../libs/timeago/locales/jquery.timeago.da.js | 28 - .../locales/jquery.timeago.de-short.js | 30 - .../libs/timeago/locales/jquery.timeago.de.js | 28 - .../libs/timeago/locales/jquery.timeago.dv.js | 32 - .../libs/timeago/locales/jquery.timeago.el.js | 28 - .../locales/jquery.timeago.en-short.js | 30 - .../libs/timeago/locales/jquery.timeago.en.js | 30 - .../locales/jquery.timeago.es-short.js | 31 - .../libs/timeago/locales/jquery.timeago.es.js | 29 - .../libs/timeago/locales/jquery.timeago.et.js | 28 - .../libs/timeago/locales/jquery.timeago.eu.js | 28 - .../locales/jquery.timeago.fa-short.js | 30 - .../libs/timeago/locales/jquery.timeago.fa.js | 32 - .../libs/timeago/locales/jquery.timeago.fi.js | 38 - .../locales/jquery.timeago.fr-short.js | 26 - .../libs/timeago/locales/jquery.timeago.fr.js | 27 - .../libs/timeago/locales/jquery.timeago.gl.js | 28 - .../libs/timeago/locales/jquery.timeago.he.js | 26 - .../libs/timeago/locales/jquery.timeago.hr.js | 54 - .../libs/timeago/locales/jquery.timeago.hu.js | 28 - .../libs/timeago/locales/jquery.timeago.hy.js | 28 - .../libs/timeago/locales/jquery.timeago.id.js | 29 - .../libs/timeago/locales/jquery.timeago.is.js | 29 - .../locales/jquery.timeago.it-short.js | 30 - .../libs/timeago/locales/jquery.timeago.it.js | 28 - .../libs/timeago/locales/jquery.timeago.ja.js | 29 - .../libs/timeago/locales/jquery.timeago.jv.js | 28 - .../libs/timeago/locales/jquery.timeago.ko.js | 31 - .../libs/timeago/locales/jquery.timeago.ky.js | 42 - .../libs/timeago/locales/jquery.timeago.lt.js | 30 - .../libs/timeago/locales/jquery.timeago.lv.js | 30 - .../libs/timeago/locales/jquery.timeago.mk.js | 30 - .../libs/timeago/locales/jquery.timeago.nl.js | 30 - .../libs/timeago/locales/jquery.timeago.no.js | 28 - .../libs/timeago/locales/jquery.timeago.pl.js | 39 - .../locales/jquery.timeago.pt-br-short.js | 30 - .../timeago/locales/jquery.timeago.pt-br.js | 28 - .../locales/jquery.timeago.pt-short.js | 30 - .../libs/timeago/locales/jquery.timeago.pt.js | 26 - .../libs/timeago/locales/jquery.timeago.ro.js | 29 - .../libs/timeago/locales/jquery.timeago.rs.js | 54 - .../libs/timeago/locales/jquery.timeago.ru.js | 43 - .../libs/timeago/locales/jquery.timeago.rw.js | 30 - .../libs/timeago/locales/jquery.timeago.si.js | 28 - .../libs/timeago/locales/jquery.timeago.sk.js | 34 - .../libs/timeago/locales/jquery.timeago.sl.js | 46 - .../libs/timeago/locales/jquery.timeago.sq.js | 26 - .../libs/timeago/locales/jquery.timeago.sr.js | 54 - .../libs/timeago/locales/jquery.timeago.sv.js | 28 - .../libs/timeago/locales/jquery.timeago.th.js | 30 - .../locales/jquery.timeago.tr-short.js | 30 - .../libs/timeago/locales/jquery.timeago.tr.js | 26 - .../libs/timeago/locales/jquery.timeago.uk.js | 42 - .../libs/timeago/locales/jquery.timeago.ur.js | 30 - .../libs/timeago/locales/jquery.timeago.uz.js | 29 - .../libs/timeago/locales/jquery.timeago.vi.js | 30 - .../timeago/locales/jquery.timeago.zh-CN.js | 31 - .../timeago/locales/jquery.timeago.zh-TW.js | 30 - .../wwwroot/libs/toastr/toastr.css | 228 - .../wwwroot/libs/toastr/toastr.js.map | 1 - .../wwwroot/libs/toastr/toastr.min.css | 1 - .../wwwroot/libs/toastr/toastr.min.js | 2 - .../派格FIS/src/WY.NewJit.Web/yarn.lock | 2673 --- .../NewJitApplicationTestBase.cs | 7 - .../NewJitApplicationTestModule.cs | 13 - .../Samples/SampleAppServiceTests.cs | 33 - .../WY.NewJit.Application.Tests.csproj | 19 - .../NewJitDomainTestBase.cs | 7 - .../NewJitDomainTestModule.cs | 13 - .../Samples/SampleDomainTests.cs | 45 - .../WY.NewJit.Domain.Tests.csproj | 18 - .../NewJitEntityFrameworkCoreTestBase.cs | 9 - .../NewJitEntityFrameworkCoreTestModule.cs | 62 - .../Samples/SampleRepositoryTests.cs | 44 - ...WY.NewJit.EntityFrameworkCore.Tests.csproj | 20 - .../ClientDemoService.cs | 26 - .../ConsoleTestAppHostedService.cs | 26 - .../NewJitConsoleApiClientModule.cs | 29 - .../Program.cs | 21 - ...ewJit.HttpApi.Client.ConsoleTestApp.csproj | 29 - .../appsettings.json | 18 - .../test/WY.NewJit.TestBase/NewJitTestBase.cs | 61 - .../NewJitTestBaseModule.cs | 62 - .../NewJitTestDataSeedContributor.cs | 16 - .../Security/FakeCurrentPrincipalAccessor.cs | 43 - .../WY.NewJit.TestBase.csproj | 26 - .../WY.NewJit.Web.Tests/NewJitWebTestBase.cs | 39 - .../NewJitWebTestModule.cs | 69 - .../NewJitWebTestStartup.cs | 21 - .../WY.NewJit.Web.Tests/Pages/Index_Tests.cs | 16 - .../WY.NewJit.Web.Tests.csproj | 40 - .../WebContentDirectoryFinder.cs | 47 - .../WY.NewJit.Web.Tests/xunit.runner.json | 3 - .../Debug/netcoreapp5/Win.Abp.Snowflakes.dll | Bin 8191 -> 8192 bytes .../Debug/netcoreapp5/Win.Abp.Snowflakes.pdb | Bin 13288 -> 13328 bytes ....GeneratedMSBuildEditorConfig.editorconfig | 2 +- .../Win.Abp.Snowflakes.assets.cache | Bin 28388 -> 28388 bytes ...Abp.Snowflakes.csproj.FileListAbsolute.txt | 12 + .../Debug/netcoreapp5/Win.Abp.Snowflakes.dll | Bin 8191 -> 8192 bytes .../Debug/netcoreapp5/Win.Abp.Snowflakes.pdb | Bin 13288 -> 13328 bytes ...in.Abp.Snowflakes.csproj.nuget.dgspec.json | 10 +- .../obj/project.assets.json | 6 +- .../obj/project.nuget.cache | 4 +- .../Properties/launchSettings.json | 12 - .../Win.Abp.Snowflakes.csproj | 4 +- ...CoreApp,Version=v7.0.AssemblyAttributes.cs | 4 - .../net7.0/Win.Abp.Snowflakes.AssemblyInfo.cs | 20 - ...in.Abp.Snowflakes.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 11 - .../net7.0/Win.Abp.Snowflakes.assets.cache | Bin 28643 -> 0 bytes ....Snowflakes.csproj.AssemblyReference.cache | Bin 111310 -> 0 bytes ...in.Abp.Snowflakes.csproj.nuget.dgspec.json | 36 +- .../Win.Abp.Snowflakes.csproj.nuget.g.props | 14 +- .../Win.Abp.Snowflakes.csproj.nuget.g.targets | 8 +- .../obj/project.assets.json | 1540 +- .../obj/project.nuget.cache | 115 +- .../Properties/launchSettings.json | 12 - .../Win.Sfs.Shared/Win.Sfs.Shared.csproj | 12 +- .../bin/Debug/Win.Sfs.Shared.2.0.0.nupkg | Bin 32588 -> 32598 bytes .../bin/Debug/netcoreapp5/Win.Sfs.Shared.dll | Bin 73727 -> 73728 bytes .../bin/Debug/netcoreapp5/Win.Sfs.Shared.pdb | Bin 48540 -> 48756 bytes .../bin/Debug/netcoreapp5/Win.Utils.dll | Bin 10751 -> 10752 bytes .../bin/Debug/netcoreapp5/Win.Utils.pdb | Bin 21792 -> 21840 bytes .../obj/Debug/Win.Sfs.Shared.2.0.0.nuspec | 2 +- ...CoreApp,Version=v7.0.AssemblyAttributes.cs | 4 - .../net7.0/Win.Sfs.Shared.AssemblyInfo.cs | 23 - .../Win.Sfs.Shared.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 11 - .../Debug/net7.0/Win.Sfs.Shared.assets.cache | Bin 144739 -> 0 bytes ....Sfs.Shared.csproj.AssemblyReference.cache | Bin 321408 -> 0 bytes ....GeneratedMSBuildEditorConfig.editorconfig | 2 +- .../netcoreapp5/Win.Sfs.Shared.assets.cache | Bin 138041 -> 138041 bytes ....Sfs.Shared.csproj.AssemblyReference.cache | Bin 202430 -> 202480 bytes ....Sfs.Shared.csproj.CoreCompileInputs.cache | 2 +- ...Win.Sfs.Shared.csproj.FileListAbsolute.txt | 15 + .../obj/Debug/netcoreapp5/Win.Sfs.Shared.dll | Bin 73727 -> 73728 bytes .../obj/Debug/netcoreapp5/Win.Sfs.Shared.pdb | Bin 48540 -> 48756 bytes .../Win.Sfs.Shared.csproj.nuget.dgspec.json | 80 +- .../obj/Win.Sfs.Shared.csproj.nuget.g.props | 2 - .../obj/Win.Sfs.Shared.csproj.nuget.g.targets | 3 - .../Win.Sfs.Shared/obj/project.assets.json | 2420 +-- .../Win.Sfs.Shared/obj/project.nuget.cache | 166 +- .../Win.Utils/Properties/launchSettings.json | 12 - code/src/Shared/Win.Utils/Win.Utils.csproj | 2 +- .../Win.Utils/bin/Debug/Win.Utils.2.0.0.nupkg | Bin 6530 -> 6543 bytes .../bin/Debug/netcoreapp5/Win.Utils.dll | Bin 10751 -> 10752 bytes .../bin/Debug/netcoreapp5/Win.Utils.pdb | Bin 21792 -> 21840 bytes .../obj/Debug/Win.Utils.2.0.0.nuspec | 2 +- ...CoreApp,Version=v7.0.AssemblyAttributes.cs | 4 - .../Debug/net7.0/Win.Utils.AssemblyInfo.cs | 23 - .../net7.0/Win.Utils.AssemblyInfoInputs.cache | 1 - ....GeneratedMSBuildEditorConfig.editorconfig | 11 - .../obj/Debug/net7.0/Win.Utils.assets.cache | Bin 11646 -> 0 bytes .../Win.Utils.csproj.AssemblyReference.cache | Bin 185551 -> 0 bytes ....GeneratedMSBuildEditorConfig.editorconfig | 2 +- .../Debug/netcoreapp5/Win.Utils.assets.cache | Bin 11646 -> 11646 bytes .../Win.Utils.csproj.FileListAbsolute.txt | 12 + .../obj/Debug/netcoreapp5/Win.Utils.dll | Bin 10751 -> 10752 bytes .../obj/Debug/netcoreapp5/Win.Utils.pdb | Bin 21792 -> 21840 bytes .../obj/Win.Utils.csproj.nuget.dgspec.json | 34 +- .../Shared/Win.Utils/obj/project.assets.json | 34 +- .../Shared/Win.Utils/obj/project.nuget.cache | 9 +- 1417 files changed, 1687 insertions(+), 342711 deletions(-) delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/.gitattributes delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/.gitignore delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/.prettierrc delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/NuGet.Config delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/WY.NewJit.sln delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/WY.NewJit.sln.DotSettings delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/common.props delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/BookDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/CreateUpdateBookDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/IBookAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErp2PartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErpDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgPartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgVehicle2PartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgErpDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgPartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/QueryAssemblyCfgErpDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgErpAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgPartAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgVehicleAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Dtos/DicItemDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Interfaces/IDicAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/CreateUpdateExcludePartCfgDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/ExcludePartCfgDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/QueryExcludePartCfgDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Interfaces/IExcludePartCfgAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/CreateUpdateLogRemindDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/LogRemindDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/QueryLogRemindDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Interfaces/ILogRemindAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/CreateUpdatePartCfgDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/PartCfgDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/QueryPartCfgDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Interfaces/IPartCfgAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/CreateUpdatePartSwitchDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/PartSwitchDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/QueryPartSwitchDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Interfaces/IPartSwitchAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100PartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100PartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateNewM100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/MenBanPrintInfo.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/NewM100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/QueryBillM100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ResultBillM100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ZhuHuBanPrintInfo.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/IBillM100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/INewM100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100PartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100PartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/QueryBillR100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/ResultBillR100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Interfaces/IBillR100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/IR100M100CompareAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/QueryCompareDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/ResultCompareDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100PartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/QueryRepeatM100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100PartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Interfaces/IRepeatM100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/IRepeatR100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/QueryRepeatR100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100Dto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100PartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/AddAssemblyCfgDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/BatchParseParam.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryBillInfoDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryUnknownAssemblyDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ResultUnknownAssemblyDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ToParseInParam.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyPartDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Interfaces/IUnknownAssemblyAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgConversion/IMsgConversionAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/IMsgTransmissionAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncEto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncOperationType.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TransmissionParamDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/NewJitApplicationContractsModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/NewJitDtoExtensions.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissionDefinitionProvider.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissions.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/Books/BookAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgErpAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgPartAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgVehicleAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/Dics/DicAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/ExcludePartCfgs/ExcludePartCfgAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/LogReminds/LogRemindAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/PartCfgs/PartCfgAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/PartSwitchs/PartSwitchAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/NewM100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillR100s/BillR100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/R100M100Compare/R100M100CompareAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatM100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatR100AppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/UnknownAssemblys/UnknownAssemblyAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionWorker.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncEventHandler.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncWorker.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/BatchParseWorker.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionAppServiceTianHe.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionWorkerTianHe.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitAppService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitApplicationAutoMapperProfile.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitApplicationModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/Properties/AssemblyInfo.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/DbMigratorHostedService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/NewJitDbMigratorModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/Program.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/WY.NewJit.DbMigrator.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/appsettings.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/tempkey.jwk delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/tempkey.rsa delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Books/BookType.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ConfigDic.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ExtMethod.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ObjectResultDto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/OurFileContainer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/PagedAndSortedBase.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/PermutationAndCombination.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ServerHelper.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/SwaggerGroupConsts.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/ar.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/cs.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/de-DE.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/en-GB.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/en.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/es.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/fr.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/hu.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/nl.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/pl-PL.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/pt-BR.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/ru.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/sl.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/tr.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/vi.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hans.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hant.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJitResource.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgBaseData/LogTypeEnum.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgBaseData/SeriousLevelEnum.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/BillStatusEnum.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/ManualOperationTypeEnum.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgTransmission/ReceiveStatusEnum.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgTransmission/TransmissionModeType.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitDomainErrorCodes.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitDomainSharedModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitGlobalFeatureConfigurator.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitModuleExtensionConfigurator.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/WY.NewJit.Domain.Shared.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Books/Book.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Books/BookStoreDataSeederContributor.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/INewJitDbSchemaMigrator.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/NewJitDbMigrationService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/NullNewJitDbSchemaMigrator.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/IRepositories/INewJitDapperRepository.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/IdentityServer/IdentityServerDataSeedContributor.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgErp.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgPart.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicle.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicleChild.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItem.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItemDataSeederContributor.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicType.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/ErpAssembly2Part.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/ExcludePartCfg.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/LogRemind.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfg.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfgPaiGeExt.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartSwitch.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/V_Relationship.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/AssemblyDomainService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/DicDomainService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/LogRemindDomainService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100Part.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110Part.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100Part.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100Part.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110Part.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100Part.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssembly.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssemblyPart.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/M100CheckDomainService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/R100CheckDomainService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/BillSortCfg.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfg.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfgDataSeederContributor.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/ConfigInfo.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageInfo.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageReceive.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfg.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfgDataSeederContributor.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/NewJitConsts.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/NewJitDomainModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Properties/AssemblyInfo.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Settings/NewJitSettingDefinitionProvider.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Settings/NewJitSettings.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/SettleAccountFIS/FISVersionEto.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/SettleAccountFIS/FIS_TH.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/TianHe/NotMatchTempBill.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/TianHe/productdata_A.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Users/AppUser.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/WY.NewJit.Domain.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/EntityFrameworkCoreNewJitDbSchemaMigrator.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitEntityFrameworkCoreDbMigrationsModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContext.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContextFactory.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.Designer.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/NewJitMigrationsDbContextModelSnapshot.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/WY.NewJit.EntityFrameworkCore.DbMigrations.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/ISettleAccountDbContext.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDapperRepository.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContext.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContextModelCreatingExtensions.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEfCoreEntityExtensionMappings.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEntityFrameworkCoreModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContext.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountModelBuilderConfigurationOptions.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISRepository.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISVersionRepository.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDapperRepository.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDbContext.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Properties/AssemblyInfo.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/WY.NewJit.EntityFrameworkCore.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi.Client/NewJitHttpApiClientModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi.Client/WY.NewJit.HttpApi.Client.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Controllers/BlobFileController.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Controllers/NewJitController.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Models/Test/TestModel.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/NewJitHttpApiModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/WY.NewJit.HttpApi.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Components/_ViewImports.cshtml delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/JIS_BAK/JIT2.T105631 delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/JIS_BAK/jit2.T105607 delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Menus/NewJitMenuContributor.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Menus/NewJitMenus.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitBrandingProvider.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitWebAutoMapperProfile.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitWebModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.cshtml delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.cshtml.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/NewJitPageModel.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/_ViewImports.cshtml delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Program.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Properties/AssemblyInfo.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Properties/launchSettings.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Startup.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Views/_ViewImports.cshtml delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/WY.NewJit.Web.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/WY.NewJit.Web.xml delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/abp.resourcemapping.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/appsettings.Development.json1 delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/appsettings.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/gulpfile.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/package.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/tempkey.jwk delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/tempkey.rsa delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/global-styles.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/core/abp.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/core/abp.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/jquery/abp.jquery.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/luxon/abp.luxon.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.min.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.min.css.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap.css.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap.min.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap.min.css.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/js/bootstrap.bundle.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/js/bootstrap.bundle.js.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/datatables.net-bs4/css/dataTables.bootstrap4.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/datatables.net-bs4/js/dataTables.bootstrap4.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/datatables.net/js/jquery.dataTables.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-form/jquery.form.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-form/jquery.form.min.js.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/jquery.validate.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ar.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_az.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_bg.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_bn_BD.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ca.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_cs.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_da.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_de.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_el.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_es.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_es_AR.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_es_PE.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_et.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_eu.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_fa.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_fi.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_fr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ge.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_gl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_he.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_hr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_hu.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_hy_AM.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_id.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_is.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_it.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ja.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ka.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_kk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ko.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_lt.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_lv.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_mk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_my.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_nl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_no.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_pl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_pt_BR.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_pt_PT.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ro.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ru.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sd.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_si.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sr_lat.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sv.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_th.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_tj.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_tr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_uk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ur.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_vi.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_zh.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_zh_TW.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_de.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_es_CL.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_fi.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_nl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_pt.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/jquery/jquery.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/lodash/lodash.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/luxon/luxon.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/luxon/luxon.js.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/luxon/luxon.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/luxon/luxon.min.js.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/mCSB_buttons.png delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/package.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/readme.md delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/css/select2.min.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/af.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ar.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/az.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/bg.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/bn.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/bs.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ca.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/cs.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/da.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/de.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/dsb.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/el.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/en.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/es.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/et.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/eu.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/fa.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/fi.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/fr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/gl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/he.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hi.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hsb.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hu.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hy.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/id.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/is.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/it.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ja.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ka.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/km.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ko.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/lt.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/lv.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/mk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ms.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/nb.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ne.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/nl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/pl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ps.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/pt-BR.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/pt.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ro.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ru.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sq.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sr-Cyrl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sv.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/th.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/tk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/tr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/uk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/vi.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/zh-CN.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/zh-TW.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/select2.full.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/select2/js/select2.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/sweetalert/sweetalert.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/jquery.timeago.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/README.md delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.af.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.am.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ar.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.az-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.az.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.be.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.bg.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.bs.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ca.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.cs.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.cy.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.da.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.de-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.de.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.dv.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.el.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.en-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.en.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.es-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.es.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.et.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.eu.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fa-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fa.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fi.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fr-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.gl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.he.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.hr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.hu.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.hy.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.id.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.is.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.it-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.it.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ja.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.jv.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ko.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ky.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.lt.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.lv.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.mk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.nl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.no.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pt-br-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pt-br.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pt-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pt.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ro.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.rs.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ru.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.rw.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.si.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sl.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sq.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sv.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.th.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.tr-short.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.tr.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.uk.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ur.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.uz.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.vi.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.zh-CN.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.zh-TW.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/toastr/toastr.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/toastr/toastr.js.map delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/toastr/toastr.min.css delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/toastr/toastr.min.js delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/yarn.lock delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Application.Tests/NewJitApplicationTestBase.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Application.Tests/NewJitApplicationTestModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Application.Tests/Samples/SampleAppServiceTests.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Application.Tests/WY.NewJit.Application.Tests.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Domain.Tests/NewJitDomainTestBase.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Domain.Tests/NewJitDomainTestModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Domain.Tests/Samples/SampleDomainTests.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Domain.Tests/WY.NewJit.Domain.Tests.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.EntityFrameworkCore.Tests/EntityFrameworkCore/NewJitEntityFrameworkCoreTestBase.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.EntityFrameworkCore.Tests/EntityFrameworkCore/NewJitEntityFrameworkCoreTestModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepositoryTests.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.EntityFrameworkCore.Tests/WY.NewJit.EntityFrameworkCore.Tests.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/NewJitConsoleApiClientModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/Program.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/WY.NewJit.HttpApi.Client.ConsoleTestApp.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/appsettings.json delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.TestBase/NewJitTestBase.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.TestBase/NewJitTestBaseModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.TestBase/NewJitTestDataSeedContributor.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.TestBase/Security/FakeCurrentPrincipalAccessor.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.TestBase/WY.NewJit.TestBase.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Web.Tests/NewJitWebTestBase.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Web.Tests/NewJitWebTestModule.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Web.Tests/NewJitWebTestStartup.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Web.Tests/Pages/Index_Tests.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Web.Tests/WY.NewJit.Web.Tests.csproj delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Web.Tests/WebContentDirectoryFinder.cs delete mode 100644 code/src/Modules/新版JIT或JIS系统服务端/test/WY.NewJit.Web.Tests/xunit.runner.json delete mode 100644 code/src/Modules/派格FIS/.gitattributes delete mode 100644 code/src/Modules/派格FIS/.gitignore delete mode 100644 code/src/Modules/派格FIS/.prettierrc delete mode 100644 code/src/Modules/派格FIS/NuGet.Config delete mode 100644 code/src/Modules/派格FIS/WY.NewJit.sln delete mode 100644 code/src/Modules/派格FIS/WY.NewJit.sln.DotSettings delete mode 100644 code/src/Modules/派格FIS/common.props delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/Books/BookDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/Books/CreateUpdateBookDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/Books/IBookAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErp2PartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErpDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgPartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgVehicle2PartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgErpDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgPartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/QueryAssemblyCfgErpDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgErpAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgPartAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgVehicleAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Dtos/DicItemDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Interfaces/IDicAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/CreateUpdateExcludePartCfgDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/ExcludePartCfgDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/QueryExcludePartCfgDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Interfaces/IExcludePartCfgAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/CreateUpdateLogRemindDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/LogRemindDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/QueryLogRemindDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Interfaces/ILogRemindAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/CreateUpdatePartCfgDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/PartCfgDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/QueryPartCfgDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Interfaces/IPartCfgAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/CreateUpdatePartSwitchDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/PartSwitchDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/QueryPartSwitchDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Interfaces/IPartSwitchAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100PartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100PartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateNewM100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/MenBanPrintInfo.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/NewM100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/QueryBillM100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ResultBillM100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ZhuHuBanPrintInfo.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/IBillM100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/INewM100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100PartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100PartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/QueryBillR100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/ResultBillR100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Interfaces/IBillR100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/IR100M100CompareAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/QueryCompareDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/ResultCompareDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100PartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/QueryRepeatM100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100PartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Interfaces/IRepeatM100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/IRepeatR100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/QueryRepeatR100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100Dto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100PartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/AddAssemblyCfgDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/BatchParseParam.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryBillInfoDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryUnknownAssemblyDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ResultUnknownAssemblyDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ToParseInParam.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyPartDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Interfaces/IUnknownAssemblyAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgConversion/IMsgConversionAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgTransmission/IMsgTransmissionAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncEto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncOperationType.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/MsgTransmission/TransmissionParamDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/NewJitApplicationContractsModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/NewJitDtoExtensions.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissionDefinitionProvider.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissions.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/Books/BookAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgErpAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgPartAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgVehicleAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgBaseData/Dics/DicAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgBaseData/ExcludePartCfgs/ExcludePartCfgAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgBaseData/LogReminds/LogRemindAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgBaseData/PartCfgs/PartCfgAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgBaseData/PartSwitchs/PartSwitchAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgCheck/BillM100s/NewM100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgCheck/BillR100s/BillR100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgCheck/R100M100Compare/R100M100CompareAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatM100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatR100AppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgCheck/UnknownAssemblys/UnknownAssemblyAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionWorker.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncEventHandler.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncWorker.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgTransmission/TianHe/BatchParseWorker.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionAppServiceTianHe.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionWorkerTianHe.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/NewJitAppService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/NewJitApplicationAutoMapperProfile.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/NewJitApplicationModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/Properties/AssemblyInfo.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/WY.NewJit.Application.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Application/WY.NewJit.Application.xml delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.DbMigrator/DbMigratorHostedService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.DbMigrator/NewJitDbMigratorModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.DbMigrator/Program.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.DbMigrator/WY.NewJit.DbMigrator.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.DbMigrator/appsettings.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.DbMigrator/tempkey.jwk delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.DbMigrator/tempkey.rsa delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Books/BookType.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Common/ConfigDic.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Common/ExtMethod.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Common/ObjectResultDto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Common/OurFileContainer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Common/PagedAndSortedBase.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Common/PermutationAndCombination.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Common/ServerHelper.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Common/SwaggerGroupConsts.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/ar.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/cs.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/de-DE.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/en-GB.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/en.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/es.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/fr.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/hu.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/nl.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/pl-PL.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/pt-BR.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/ru.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/sl.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/tr.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/vi.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hans.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hant.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/Localization/NewJitResource.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/MsgBaseData/LogTypeEnum.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/MsgBaseData/SeriousLevelEnum.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/MsgCheck/BillStatusEnum.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/MsgCheck/ManualOperationTypeEnum.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/MsgTransmission/ReceiveStatusEnum.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/MsgTransmission/TransmissionModeType.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/NewJitDomainErrorCodes.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/NewJitDomainSharedModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/NewJitGlobalFeatureConfigurator.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/NewJitModuleExtensionConfigurator.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain.Shared/WY.NewJit.Domain.Shared.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/Books/Book.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/Books/BookStoreDataSeederContributor.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/Data/INewJitDbSchemaMigrator.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/Data/NewJitDbMigrationService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/Data/NullNewJitDbSchemaMigrator.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/IRepositories/INewJitDapperRepository.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/IdentityServer/IdentityServerDataSeedContributor.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgErp.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgPart.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicle.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicleChild.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItem.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItemDataSeederContributor.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicType.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/ErpAssembly2Part.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/ExcludePartCfg.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/LogRemind.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfg.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfgPaiGeExt.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartSwitch.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Entitys/V_Relationship.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Services/AssemblyDomainService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Services/DicDomainService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgBaseData/Services/LogRemindDomainService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100Part.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110Part.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100Part.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100Part.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110Part.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100Part.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssembly.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssemblyPart.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Services/M100CheckDomainService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgCheck/Services/R100CheckDomainService.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgConversion/Entitys/BillSortCfg.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfg.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfgDataSeederContributor.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgTransmission/Entitys/ConfigInfo.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageInfo.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageReceive.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfg.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfgDataSeederContributor.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/NewJitConsts.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/NewJitDomainModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/Properties/AssemblyInfo.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/Settings/NewJitSettingDefinitionProvider.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/Settings/NewJitSettings.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/SettleAccountFIS/FISVersionEto.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/SettleAccountFIS/FIS_TH.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/TianHe/NotMatchTempBill.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/TianHe/productdata_A.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/Users/AppUser.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Domain/WY.NewJit.Domain.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/EntityFrameworkCoreNewJitDbSchemaMigrator.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitEntityFrameworkCoreDbMigrationsModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContext.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContextFactory.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.Designer.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/NewJitMigrationsDbContextModelSnapshot.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore.DbMigrations/WY.NewJit.EntityFrameworkCore.DbMigrations.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/ISettleAccountDbContext.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDapperRepository.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContext.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContextModelCreatingExtensions.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEfCoreEntityExtensionMappings.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEntityFrameworkCoreModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContext.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountModelBuilderConfigurationOptions.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISRepository.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISVersionRepository.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDapperRepository.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDbContext.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/Properties/AssemblyInfo.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.EntityFrameworkCore/WY.NewJit.EntityFrameworkCore.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.HttpApi.Client/NewJitHttpApiClientModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.HttpApi.Client/WY.NewJit.HttpApi.Client.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.HttpApi/Controllers/BlobFileController.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.HttpApi/Controllers/NewJitController.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.HttpApi/Models/Test/TestModel.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.HttpApi/NewJitHttpApiModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.HttpApi/WY.NewJit.HttpApi.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Components/_ViewImports.cshtml delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/JIS_BAK/JIT2.T105631 delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/JIS_BAK/jit2.T105607 delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Menus/NewJitMenuContributor.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Menus/NewJitMenus.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/NewJitBrandingProvider.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/NewJitWebAutoMapperProfile.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/NewJitWebModule.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Pages/Index.cshtml delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Pages/Index.cshtml.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Pages/Index.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Pages/Index.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Pages/NewJitPageModel.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Pages/_ViewImports.cshtml delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Program.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Properties/AssemblyInfo.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Properties/launchSettings.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Startup.cs delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/Views/_ViewImports.cshtml delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/WY.NewJit.Web.csproj delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/WY.NewJit.Web.xml delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/abp.resourcemapping.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/appsettings.Development.json1 delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/appsettings.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/gulpfile.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/package.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/tempkey.jwk delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/tempkey.rsa delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/global-styles.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/abp/core/abp.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/abp/core/abp.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/abp/jquery/abp.jquery.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/abp/luxon/abp.luxon.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.min.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.min.css.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap.css.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap.min.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap.min.css.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/js/bootstrap.bundle.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/js/bootstrap.bundle.js.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/bootstrap/js/bootstrap.bundle.min.js.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/datatables.net-bs4/css/dataTables.bootstrap4.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/datatables.net-bs4/js/dataTables.bootstrap4.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/datatables.net/js/jquery.dataTables.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-form/jquery.form.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-form/jquery.form.min.js.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/jquery.validate.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ar.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_az.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_bg.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_bn_BD.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ca.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_cs.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_da.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_de.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_el.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_es.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_es_AR.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_es_PE.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_et.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_eu.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_fa.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_fi.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_fr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ge.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_gl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_he.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_hr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_hu.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_hy_AM.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_id.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_is.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_it.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ja.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ka.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_kk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ko.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_lt.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_lv.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_mk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_my.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_nl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_no.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_pl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_pt_BR.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_pt_PT.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ro.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ru.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sd.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_si.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sr_lat.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_sv.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_th.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_tj.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_tr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_uk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_ur.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_vi.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_zh.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/messages_zh_TW.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_de.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_es_CL.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_fi.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_nl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery-validation/localization/methods_pt.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/jquery/jquery.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/lodash/lodash.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/luxon/luxon.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/luxon/luxon.js.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/luxon/luxon.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/luxon/luxon.min.js.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/mCSB_buttons.png delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/package.json delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/malihu-custom-scrollbar-plugin/readme.md delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/css/select2.min.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/af.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ar.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/az.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/bg.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/bn.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/bs.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ca.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/cs.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/da.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/de.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/dsb.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/el.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/en.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/es.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/et.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/eu.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/fa.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/fi.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/fr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/gl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/he.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hi.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hsb.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hu.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/hy.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/id.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/is.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/it.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ja.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ka.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/km.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ko.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/lt.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/lv.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/mk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ms.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/nb.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ne.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/nl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/pl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ps.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/pt-BR.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/pt.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ro.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/ru.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sq.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sr-Cyrl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/sv.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/th.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/tk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/tr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/uk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/vi.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/zh-CN.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/i18n/zh-TW.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/select2-bootstrap-modal-patch.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/select2.full.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/select2/js/select2.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/sweetalert/sweetalert.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/jquery.timeago.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/README.md delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.af.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.am.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ar.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.az-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.az.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.be.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.bg.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.bs.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ca.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.cs.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.cy.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.da.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.de-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.de.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.dv.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.el.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.en-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.en.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.es-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.es.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.et.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.eu.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fa-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fa.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fi.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fr-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.fr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.gl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.he.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.hr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.hu.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.hy.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.id.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.is.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.it-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.it.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ja.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.jv.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ko.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ky.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.lt.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.lv.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.mk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.nl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.no.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pt-br-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pt-br.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pt-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.pt.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ro.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.rs.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ru.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.rw.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.si.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sl.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sq.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.sv.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.th.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.tr-short.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.tr.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.uk.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.ur.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.uz.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.vi.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.zh-CN.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/timeago/locales/jquery.timeago.zh-TW.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/toastr/toastr.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/toastr/toastr.js.map delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/toastr/toastr.min.css delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/wwwroot/libs/toastr/toastr.min.js delete mode 100644 code/src/Modules/派格FIS/src/WY.NewJit.Web/yarn.lock delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Application.Tests/NewJitApplicationTestBase.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Application.Tests/NewJitApplicationTestModule.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Application.Tests/Samples/SampleAppServiceTests.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Application.Tests/WY.NewJit.Application.Tests.csproj delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Domain.Tests/NewJitDomainTestBase.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Domain.Tests/NewJitDomainTestModule.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Domain.Tests/Samples/SampleDomainTests.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Domain.Tests/WY.NewJit.Domain.Tests.csproj delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.EntityFrameworkCore.Tests/EntityFrameworkCore/NewJitEntityFrameworkCoreTestBase.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.EntityFrameworkCore.Tests/EntityFrameworkCore/NewJitEntityFrameworkCoreTestModule.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepositoryTests.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.EntityFrameworkCore.Tests/WY.NewJit.EntityFrameworkCore.Tests.csproj delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/NewJitConsoleApiClientModule.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/Program.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/WY.NewJit.HttpApi.Client.ConsoleTestApp.csproj delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.HttpApi.Client.ConsoleTestApp/appsettings.json delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.TestBase/NewJitTestBase.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.TestBase/NewJitTestBaseModule.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.TestBase/NewJitTestDataSeedContributor.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.TestBase/Security/FakeCurrentPrincipalAccessor.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.TestBase/WY.NewJit.TestBase.csproj delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Web.Tests/NewJitWebTestBase.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Web.Tests/NewJitWebTestModule.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Web.Tests/NewJitWebTestStartup.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Web.Tests/Pages/Index_Tests.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Web.Tests/WY.NewJit.Web.Tests.csproj delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Web.Tests/WebContentDirectoryFinder.cs delete mode 100644 code/src/Modules/派格FIS/test/WY.NewJit.Web.Tests/xunit.runner.json delete mode 100644 code/src/Shared/Win.Abp/Win.Abp.Snowflakes/Properties/launchSettings.json delete mode 100644 code/src/Shared/Win.Abp/Win.Abp.Snowflakes/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs delete mode 100644 code/src/Shared/Win.Abp/Win.Abp.Snowflakes/obj/Debug/net7.0/Win.Abp.Snowflakes.AssemblyInfo.cs delete mode 100644 code/src/Shared/Win.Abp/Win.Abp.Snowflakes/obj/Debug/net7.0/Win.Abp.Snowflakes.AssemblyInfoInputs.cache delete mode 100644 code/src/Shared/Win.Abp/Win.Abp.Snowflakes/obj/Debug/net7.0/Win.Abp.Snowflakes.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 code/src/Shared/Win.Abp/Win.Abp.Snowflakes/obj/Debug/net7.0/Win.Abp.Snowflakes.assets.cache delete mode 100644 code/src/Shared/Win.Abp/Win.Abp.Snowflakes/obj/Debug/net7.0/Win.Abp.Snowflakes.csproj.AssemblyReference.cache delete mode 100644 code/src/Shared/Win.Sfs.Shared/Properties/launchSettings.json delete mode 100644 code/src/Shared/Win.Sfs.Shared/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs delete mode 100644 code/src/Shared/Win.Sfs.Shared/obj/Debug/net7.0/Win.Sfs.Shared.AssemblyInfo.cs delete mode 100644 code/src/Shared/Win.Sfs.Shared/obj/Debug/net7.0/Win.Sfs.Shared.AssemblyInfoInputs.cache delete mode 100644 code/src/Shared/Win.Sfs.Shared/obj/Debug/net7.0/Win.Sfs.Shared.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 code/src/Shared/Win.Sfs.Shared/obj/Debug/net7.0/Win.Sfs.Shared.assets.cache delete mode 100644 code/src/Shared/Win.Sfs.Shared/obj/Debug/net7.0/Win.Sfs.Shared.csproj.AssemblyReference.cache delete mode 100644 code/src/Shared/Win.Utils/Properties/launchSettings.json delete mode 100644 code/src/Shared/Win.Utils/obj/Debug/net7.0/.NETCoreApp,Version=v7.0.AssemblyAttributes.cs delete mode 100644 code/src/Shared/Win.Utils/obj/Debug/net7.0/Win.Utils.AssemblyInfo.cs delete mode 100644 code/src/Shared/Win.Utils/obj/Debug/net7.0/Win.Utils.AssemblyInfoInputs.cache delete mode 100644 code/src/Shared/Win.Utils/obj/Debug/net7.0/Win.Utils.GeneratedMSBuildEditorConfig.editorconfig delete mode 100644 code/src/Shared/Win.Utils/obj/Debug/net7.0/Win.Utils.assets.cache delete mode 100644 code/src/Shared/Win.Utils/obj/Debug/net7.0/Win.Utils.csproj.AssemblyReference.cache diff --git a/code/src/Modules/新版JIT或JIS系统服务端/.gitattributes b/code/src/Modules/新版JIT或JIS系统服务端/.gitattributes deleted file mode 100644 index c941e526..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -**/wwwroot/libs/** linguist-vendored diff --git a/code/src/Modules/新版JIT或JIS系统服务端/.gitignore b/code/src/Modules/新版JIT或JIS系统服务端/.gitignore deleted file mode 100644 index 0378c610..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/.gitignore +++ /dev/null @@ -1,262 +0,0 @@ -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# DNX -project.lock.json -artifacts/ - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Comment the next line if you want to checkin your web deploy settings -# but database connection strings (with potential passwords) will be unencrypted -*.pubxml -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignoreable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.pfx -*.publishsettings -node_modules/ -orleans.codegen.cs - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# NewJit -src/WY.NewJit.Web/Logs/* -src/WY.NewJit.Web.Host/Logs/* -src/WY.NewJit.IdentityServer/Logs/* -src/WY.NewJit.HttpApi.Host/Logs/* -src/WY.NewJit.HttpApi.HostWithIds/Logs/* -src/WY.NewJit.DbMigrator/Logs/* -src/WY.NewJit.Blazor.Server/Logs/* -src/WY.NewJit.Blazor.Server.Tiered/Logs/* diff --git a/code/src/Modules/新版JIT或JIS系统服务端/.prettierrc b/code/src/Modules/新版JIT或JIS系统服务端/.prettierrc deleted file mode 100644 index 56af76bd..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/.prettierrc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "singleQuote": true, - "useTabs": false, - "tabWidth": 4 -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/NuGet.Config b/code/src/Modules/新版JIT或JIS系统服务端/NuGet.Config deleted file mode 100644 index be8a1ece..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/NuGet.Config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/WY.NewJit.sln b/code/src/Modules/新版JIT或JIS系统服务端/WY.NewJit.sln deleted file mode 100644 index dcb86ad1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/WY.NewJit.sln +++ /dev/null @@ -1,137 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29020.237 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Domain", "src\WY.NewJit.Domain\WY.NewJit.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Application", "src\WY.NewJit.Application\WY.NewJit.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.EntityFrameworkCore", "src\WY.NewJit.EntityFrameworkCore\WY.NewJit.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Web", "src\WY.NewJit.Web\WY.NewJit.Web.csproj", "{068855E8-9240-4F1A-910B-CF825794513B}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Application.Tests", "test\WY.NewJit.Application.Tests\WY.NewJit.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Web.Tests", "test\WY.NewJit.Web.Tests\WY.NewJit.Web.Tests.csproj", "{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.EntityFrameworkCore.DbMigrations", "src\WY.NewJit.EntityFrameworkCore.DbMigrations\WY.NewJit.EntityFrameworkCore.DbMigrations.csproj", "{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Domain.Shared", "src\WY.NewJit.Domain.Shared\WY.NewJit.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Application.Contracts", "src\WY.NewJit.Application.Contracts\WY.NewJit.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.HttpApi", "src\WY.NewJit.HttpApi\WY.NewJit.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.HttpApi.Client", "src\WY.NewJit.HttpApi.Client\WY.NewJit.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.EntityFrameworkCore.Tests", "test\WY.NewJit.EntityFrameworkCore.Tests\WY.NewJit.EntityFrameworkCore.Tests.csproj", "{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.TestBase", "test\WY.NewJit.TestBase\WY.NewJit.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Domain.Tests", "test\WY.NewJit.Domain.Tests\WY.NewJit.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.HttpApi.Client.ConsoleTestApp", "test\WY.NewJit.HttpApi.Client.ConsoleTestApp\WY.NewJit.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.DbMigrator", "src\WY.NewJit.DbMigrator\WY.NewJit.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.Build.0 = Release|Any CPU - {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU - {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.Build.0 = Release|Any CPU - {068855E8-9240-4F1A-910B-CF825794513B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {068855E8-9240-4F1A-910B-CF825794513B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {068855E8-9240-4F1A-910B-CF825794513B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {068855E8-9240-4F1A-910B-CF825794513B}.Release|Any CPU.Build.0 = Release|Any CPU - {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.Build.0 = Release|Any CPU - {5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Release|Any CPU.Build.0 = Release|Any CPU - {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Debug|Any CPU.Build.0 = Debug|Any CPU - {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Release|Any CPU.ActiveCfg = Release|Any CPU - {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Release|Any CPU.Build.0 = Release|Any CPU - {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU - {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU - {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.Build.0 = Release|Any CPU - {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.Build.0 = Release|Any CPU - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.Build.0 = Debug|Any CPU - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.ActiveCfg = Release|Any CPU - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.Build.0 = Release|Any CPU - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.Build.0 = Release|Any CPU - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.Build.0 = Debug|Any CPU - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.ActiveCfg = Release|Any CPU - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.Build.0 = Release|Any CPU - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.Build.0 = Debug|Any CPU - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.ActiveCfg = Release|Any CPU - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.Build.0 = Release|Any CPU - {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.Build.0 = Release|Any CPU - {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.Build.0 = Release|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {C956DD76-69C8-4A9C-83EA-D17DF83340FD} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {068855E8-9240-4F1A-910B-CF825794513B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {5F1B28C6-8D0C-4155-92D0-252F7EA5F674} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {520659C8-C734-4298-A3DA-B539DB9DFC0B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {4164BDF7-F527-4E85-9CE6-E3C2D7426A27} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {3B5A0094-670D-4BB1-BFDD-61B88A8773DC} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - {1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {91853F21-9CD9-4132-BC29-A7D5D84FFFE7} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {E512F4D9-9375-480F-A2F6-A46509F9D824} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} - {AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F} - EndGlobalSection -EndGlobal diff --git a/code/src/Modules/新版JIT或JIS系统服务端/WY.NewJit.sln.DotSettings b/code/src/Modules/新版JIT或JIS系统服务端/WY.NewJit.sln.DotSettings deleted file mode 100644 index cb0b2c91..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/WY.NewJit.sln.DotSettings +++ /dev/null @@ -1,23 +0,0 @@ - - True - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - WARNING - Required - Required - Required - Required - False - True - False - False - True - False - False - SQL - \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/common.props b/code/src/Modules/新版JIT或JIS系统服务端/common.props deleted file mode 100644 index fbef8836..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/common.props +++ /dev/null @@ -1,8 +0,0 @@ - - - latest - 1.0.0 - $(NoWarn);CS1591;CS0436 - app - - \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/BookDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/BookDto.cs deleted file mode 100644 index 3f00d796..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/BookDto.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.Books -{ - public class BookDto : EntityDto - { - public string Name { get; set; } - - public BookType Type { get; set; } - - public DateTime PublishDate { get; set; } - - public float Price { get; set; } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/CreateUpdateBookDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/CreateUpdateBookDto.cs deleted file mode 100644 index eeddd536..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/CreateUpdateBookDto.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.ComponentModel.DataAnnotations; - -namespace WY.NewJit.Books -{ - public class CreateUpdateBookDto - { - [Required] - [StringLength(128)] - public string Name { get; set; } - - [Required] - public BookType Type { get; set; } = BookType.Undefined; - - [Required] - [DataType(DataType.Date)] - public DateTime PublishDate { get; set; } = DateTime.Now; - - [Required] - public float Price { get; set; } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/IBookAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/IBookAppService.cs deleted file mode 100644 index 699ccd9e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Books/IBookAppService.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; - -namespace WY.NewJit.Books -{ - public interface IBookAppService : - ICrudAppService< //定义了常见的CRUD方法:GetAsync,GetListAsync,CreateAsync,UpdateAsync和DeleteAsync - BookDto, //Used to show books - Guid, //Primary key of the book entity - PagedAndSortedResultRequestDto, //Used for paging/sorting - CreateUpdateBookDto> //Used to create/update a book - { - - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErp2PartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErp2PartDto.cs deleted file mode 100644 index ca66cb78..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErp2PartDto.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class AssemblyCfgErp2PartDto : EntityDto - { - /// - /// Erp总成ID - /// - public Guid ErpAssemblyId { get; set; } - - /// - /// 零件ID - /// - public Guid PartId { get; set; } - - /// - /// 客户零件代码 - /// - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - public double? PartNum { get; set; } - - /// - /// 是否Key件 - /// - public bool IsKey { get; set; } - - } -} - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErpDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErpDto.cs deleted file mode 100644 index 8e2f0c4c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgErpDto.cs +++ /dev/null @@ -1,49 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// ERP总成 - /// - [ExcelExporter(Name = "总成信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class AssemblyCfgErpDto : EntityDto - { - /// - /// ERP总成编码 - /// - [ExporterHeader(DisplayName = "ERP总成编码")] - [ImporterHeader(Name = "ERP总成编码")] - public string ErpAssemblyCode { get; set; } - - /// - /// ERP总成名称 - /// - [ExporterHeader(DisplayName = "ERP总成名称")] - [ImporterHeader(Name = "ERP总成名称")] - public string ErpAssemblyName { get; set; } - - /// - /// ERP总成版本 - /// - [ExporterHeader(DisplayName = "ERP总成版本")] - [ImporterHeader(Name = "ERP总成版本")] - public int ErpAssemblyVersion { get; set; } - - /// - /// 车型 - /// - [ExporterHeader(DisplayName = "车型")] - [ImporterHeader(Name = "车型")] - public virtual string VehicleModel { get; set; } - - - public List Details { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgPartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgPartDto.cs deleted file mode 100644 index 54fc4f4b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgPartDto.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 总成和零件关系表 - /// - [ExcelExporter(Name = "ERP总成-结算件子表", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class AssemblyCfgPartDto : EntityDto - { - /// - /// 客户零件代码 - /// - [ExporterHeader(DisplayName = "客户零件代码")] - [ImporterHeader(Name = "客户零件代码")] - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - [ExporterHeader(DisplayName = "客户零件数量")] - [ImporterHeader(Name = "客户零件数量")] - public double? PartNum { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - - /// - /// 是否Key件 - /// - public bool IsKey { get; set; } - - } -} - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgVehicle2PartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgVehicle2PartDto.cs deleted file mode 100644 index a7856ce5..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/AssemblyCfgVehicle2PartDto.cs +++ /dev/null @@ -1,40 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class AssemblyCfgVehicle2PartDto : EntityDto - { - /// - /// 整车总成ID - /// - public Guid VehicleAssemblyId { get; set; } - - /// - /// 零件ID - /// - public Guid PartId { get; set; } - - /// - /// 客户零件代码 - /// - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - public double? PartNum { get; set; } - - /// - /// 是否Key件 - /// - public bool IsKey { get; set; } - - } -} - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgErpDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgErpDto.cs deleted file mode 100644 index dbd7cf60..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgErpDto.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class CreateUpdateAssemblyCfgErpDto - { - /// - /// ERP总成编码 - /// - [Required] - [StringLength(20)] - public string ErpAssemblyCode { get; set; } - - /// - /// ERP总成名称 - /// - [StringLength(50)] - public string ErpAssemblyName { get; set; } - - /// - /// 车型 - /// - [StringLength(20)] - public virtual string VehicleModel { get; set; } - - - /// - /// 是否覆盖上一个版本 - /// - public bool IsCover { get; set; } - - /// - /// 上一个版本的ERP总成ID - /// - public Guid? PreviousVersionId { get; set; } - - public List Details { get; set; } - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgPartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgPartDto.cs deleted file mode 100644 index 00254097..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/CreateUpdateAssemblyCfgPartDto.cs +++ /dev/null @@ -1,37 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class CreateUpdateAssemblyCfgPartDto - { - /// - /// 客户零件代码 - /// - [Required] - [StringLength(100)] - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - [Required] - public double? PartNum { get; set; } - - /// - /// 描述 - /// - [StringLength(200)] - public string Description { get; set; } - - /// - /// 是否Key件 - /// - public bool IsKey { get; set; } - - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/QueryAssemblyCfgErpDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/QueryAssemblyCfgErpDto.cs deleted file mode 100644 index ab72e9fb..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Dtos/QueryAssemblyCfgErpDto.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class QueryAssemblyCfgErpDto : PagedAndSortedBase - { - /// - /// ERP总成编码 - /// - public string ErpAssemblyCode { get; set; } - - /// - /// 总成名称 - /// - public string ErpAssemblyName { get; set; } - - /// - /// 车型代码 - /// - public string VehicleModelCode { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgErpAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgErpAppService.cs deleted file mode 100644 index 59b71b41..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgErpAppService.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; - -namespace WY.NewJit.MsgBaseData -{ - public interface IAssemblyCfgErpAppService : IApplicationService - { - #region 总成和产品关系 - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 主键 - /// 返回符合条件的排序分页列表 - Task> GetErpAssemblyListAsync(QueryAssemblyCfgErpDto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetErpAssemblyAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreateErpAssemblyAsync(CreateUpdateAssemblyCfgErpDto input); - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - Task UpdateErpAssemblyAsync(Guid id, CreateUpdateAssemblyCfgErpDto input); - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteErpAssemblyAsync(string id); - - /// - /// 导出ERP总成 - /// - /// - /// - Task> ExportErpAssemblyAsync(QueryAssemblyCfgErpDto input); - - /// - /// 校验ERP总成 - /// - /// - /// - //Task CheckErpAssembly(CreateUpdateAssemblyCfgErpDto input); - - /// - /// 系统初始化时使用,去掉重复的ERP总成 - /// - /// - /// - Task RemoveRepeatErpAssembly(int takeCount); - - - #endregion - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgPartAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgPartAppService.cs deleted file mode 100644 index 64c053b9..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgPartAppService.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - public interface IAssemblyCfgPartAppService - { - #region 产品和零件关系 - - /// 取实体列表 - /// - /// 主键 - /// 返回符合条件的排序分页列表 - Task> GetPartListAsync(Guid assemblyProductID); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetPartAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreatePartAsync(CreateUpdateAssemblyCfgPartDto input); - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - Task UpdatePartAsync(Guid id, CreateUpdateAssemblyCfgPartDto input); - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeletePartAsync(string id); - - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgVehicleAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgVehicleAppService.cs deleted file mode 100644 index 88371890..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/AssemblyCfgs/Interfaces/IAssemblyCfgVehicleAppService.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; - -namespace WY.NewJit.MsgBaseData.AssemblyCfgs -{ - public interface IAssemblyCfgVehicleAppService - { - /// - /// 根据整车总成Id取Erp总成列表 - /// W - /// 整车总成Id - /// Erp总成列表 - Task> GetErpAssemblyListAsync(Guid vehicleAssemblyId); - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Dtos/DicItemDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Dtos/DicItemDto.cs deleted file mode 100644 index 00c8ae95..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Dtos/DicItemDto.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 通用字典信息DTO - /// - [Serializable] - public class DicItemDto : EntityDto - { - /// - /// 字典类别代码 - /// - public string DicTypeCode { get; set; } - - /// - /// 字典项代码 - /// - public string DicItemCode { get; set; } - - /// - /// 字典项名称 - /// - public string DicItemName { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Interfaces/IDicAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Interfaces/IDicAppService.cs deleted file mode 100644 index 51efc245..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/Dics/Interfaces/IDicAppService.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - public interface IDicAppService - { - #region 接口方法 - - /// 根据字典类型名称取通用字典信息列表 - /// - /// 字典类型名称 - /// 返回符合条件字典信息列表 - Task> GetDicListAsync(string dicTypeName); - - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/CreateUpdateExcludePartCfgDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/CreateUpdateExcludePartCfgDto.cs deleted file mode 100644 index 64e51ed9..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/CreateUpdateExcludePartCfgDto.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class CreateUpdateExcludePartCfgDto - { - /// - /// 车型代码 - /// - [Required] - [StringLength(20)] - public string VehicleModelCode { get; set; } - /// - /// 客户零件号 - /// - [Required] - [StringLength(100)] - public string PartCode { get; set; } - - /// - /// 排除原因 - /// - [Required] - [StringLength(200)] - public string ExcludeReason { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/ExcludePartCfgDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/ExcludePartCfgDto.cs deleted file mode 100644 index bd172067..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/ExcludePartCfgDto.cs +++ /dev/null @@ -1,52 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class ExcludePartCfgDto : EntityDto - { - /// - /// 车型代码 - /// - [ExporterHeader(DisplayName = "车型代码")] - [ImporterHeader(Name = "车型代码")] - public string VehicleModelCode { get; set; } - /// - /// 客户零件号 - /// - [ExporterHeader(DisplayName = "客户零件号")] - [ImporterHeader(Name = "客户零件号")] - public string PartCode { get; set; } - - /// - /// 排除原因 - /// - [ExporterHeader(DisplayName = "排除原因")] - [ImporterHeader(Name = "排除原因")] - public string ExcludeReason { get; set; } - - /// - /// 车型名称 - /// - [ExporterHeader(DisplayName = "车型名称")] - [ImporterHeader(Name = "车型名称")] - public string VehicleModelName { get; set; } - /// - /// 客户零件名称 - /// - [ExporterHeader(DisplayName = "客户零件名称")] - [ImporterHeader(Name = "客户零件名称")] - public string PartName { get; set; } - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/QueryExcludePartCfgDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/QueryExcludePartCfgDto.cs deleted file mode 100644 index 1cb0b3b0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Dtos/QueryExcludePartCfgDto.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class QueryExcludePartCfgDto : PagedAndSortedBase//: PagedAndSortedResultRequestDto - { - /// - /// 车型代码 - /// - public string VehicleModelCode { get; set; } - /// - /// 客户零件号 - /// - public string PartCode { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Interfaces/IExcludePartCfgAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Interfaces/IExcludePartCfgAppService.cs deleted file mode 100644 index f40dfd47..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/ExcludePartCfgs/Interfaces/IExcludePartCfgAppService.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - public interface IExcludePartCfgAppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryExcludePartCfgDto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreateAsync(CreateUpdateExcludePartCfgDto input); - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - Task UpdateAsync(Guid id, CreateUpdateExcludePartCfgDto input); - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryExcludePartCfgDto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/CreateUpdateLogRemindDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/CreateUpdateLogRemindDto.cs deleted file mode 100644 index fa929533..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/CreateUpdateLogRemindDto.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class CreateUpdateLogRemindDto - { - - /// - /// 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常) - /// - [Required] - public LogTypeEnum LogType { get; set; } - - /// - /// 日志标题 - /// - [Required] - [StringLength(200)] - public string LogTitle { get; set; } - - /// - /// 日志描述 - /// - [Required] - [StringLength(4000)] - public string LogDesc { get; set; } - - /// - /// 严重程度(1 轻微 2 一般、3 严重) - /// - [Required] - public SeriousLevelEnum SeriousLevel { get; set; } - - /// - /// 日志状态 - /// - [Required] - public virtual LogStatusEnum LogStatus { get; set; } - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/LogRemindDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/LogRemindDto.cs deleted file mode 100644 index fcd83c48..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/LogRemindDto.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "日志提醒", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class LogRemindDto: AuditedEntityDto - { - /// - /// 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常) - /// - [ExporterHeader(DisplayName = "日志类别")] - [ImporterHeader(Name = "日志类别")] - public LogTypeEnum LogType { get; set; } - - /// - /// 日志标题 - /// - [ExporterHeader(DisplayName = "日志标题")] - [ImporterHeader(Name = "日志标题")] - public string LogTitle { get; set; } - - /// - /// 日志描述 - /// - [ExporterHeader(DisplayName = "日志描述")] - [ImporterHeader(Name = "日志描述")] - public string LogDesc { get; set; } - - /// - /// 严重程度(1 轻微 2 一般、3 严重) - /// - [ExporterHeader(DisplayName = "严重程度")] - [ImporterHeader(Name = "严重程度")] - public SeriousLevelEnum SeriousLevel { get; set; } - - /// - /// 日志状态 - /// - [ExporterHeader(DisplayName = "日志状态")] - [ImporterHeader(Name = "日志状态")] - public virtual LogStatusEnum LogStatus { get; set; } - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/QueryLogRemindDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/QueryLogRemindDto.cs deleted file mode 100644 index e56308e6..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Dtos/QueryLogRemindDto.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class QueryLogRemindDto : PagedAndSortedBase - { - /// - /// 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常) - /// - public LogTypeEnum LogType { get; set; } - - /// - /// 日志标题 - /// - public string LogTitle { get; set; } - - /// - /// 严重程度(1 轻微 2 一般、3 严重) - /// - public SeriousLevelEnum SeriousLevel { get; set; } - - /// - /// 日志状态 0 1 2 - /// - public LogStatusEnum LogStatus { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Interfaces/ILogRemindAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Interfaces/ILogRemindAppService.cs deleted file mode 100644 index f176c666..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/LogReminds/Interfaces/ILogRemindAppService.cs +++ /dev/null @@ -1,81 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - public interface ILogRemindAppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryLogRemindDto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreateAsync(CreateUpdateLogRemindDto input); - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - Task UpdateAsync(Guid id, CreateUpdateLogRemindDto input); - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryLogRemindDto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - - /// - /// 执行处理 - /// - /// 主键 - /// 执行成功返回真 - Task DoProcessAsync(Guid id); - - /// - /// 执行忽略 - /// - /// 主键 - /// 执行成功返回真 - Task DoIgnoreAsync(Guid id); - - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/CreateUpdatePartCfgDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/CreateUpdatePartCfgDto.cs deleted file mode 100644 index 85628e1f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/CreateUpdatePartCfgDto.cs +++ /dev/null @@ -1,64 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class CreateUpdatePartCfgDto - { - /// - /// 零件编码 - /// - [Required] - [StringLength(100)] - public string PartCode { get; set; } - /// - /// 零件名称 - /// - [Required] - [StringLength(200)] - public string PartName { get; set; } - /// - /// 零件类型(取通用字典) - /// - [StringLength(10)] - public string PartType { get; set; } - - /// - /// 零件子类型(取通用字典) - /// - public virtual string PartChildType { get; set; } - - /// - /// 描述 - /// - [StringLength(200)] - public string Description { get; set; } - - #region 派格扩展 - /// - /// 门板代号 - /// - public string DoorPlankCode { get; set; } - - /// - /// SAP物料号 - /// - public string SAPMaterialNum { get; set; } - - /// - /// 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - /// - public string MaterialDescription { get; set; } - - /// - /// 大小量纲(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - /// - public string DaXiaoLiangGang { get; set; } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/PartCfgDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/PartCfgDto.cs deleted file mode 100644 index acd31947..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/PartCfgDto.cs +++ /dev/null @@ -1,73 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class PartCfgDto: AuditedEntityDto - { - /// - /// 零件编码 - /// - [ExporterHeader(DisplayName = "零件编码")] - [ImporterHeader(Name = "零件编码")] - public string PartCode { get; set; } - /// - /// 零件名称 - /// - [ExporterHeader(DisplayName = "零件名称")] - [ImporterHeader(Name = "零件名称")] - public string PartName { get; set; } - /// - /// 零件类型(取通用字典) - /// - [ExporterHeader(DisplayName = "零件类型")] - [ImporterHeader(Name = "零件类型")] - public string PartType { get; set; } - - /// - /// 零件子类型(取通用字典) - /// - [ExporterHeader(DisplayName = "零件子类型")] - [ImporterHeader(Name = "零件子类型")] - public virtual string PartChildType { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - - #region 派格扩展 - /// - /// 门板代号 - /// - public string DoorPlankCode { get; set; } - - /// - /// SAP物料号 - /// - public string SAPMaterialNum { get; set; } - - /// - /// 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - /// - public string MaterialDescription { get; set; } - - /// - /// 大小量纲(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - /// - public string DaXiaoLiangGang { get; set; } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/QueryPartCfgDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/QueryPartCfgDto.cs deleted file mode 100644 index dbc2ee8c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Dtos/QueryPartCfgDto.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class QueryPartCfgDto : PagedAndSortedBase - { - /// - /// 零件编码 - /// - public string PartCode { get; set; } - /// - /// 零件名称 - /// - public string PartName { get; set; } - /// - /// 零件类型(取通用字典) - /// - public string PartType { get; set; } - - /// - /// 零件子类型(取通用字典) - /// - public string PartChildType { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Interfaces/IPartCfgAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Interfaces/IPartCfgAppService.cs deleted file mode 100644 index ac7b80bf..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartCfgs/Interfaces/IPartCfgAppService.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - public interface IPartCfgAppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryPartCfgDto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreateAsync(CreateUpdatePartCfgDto input); - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - Task UpdateAsync(Guid id, CreateUpdatePartCfgDto input); - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryPartCfgDto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/CreateUpdatePartSwitchDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/CreateUpdatePartSwitchDto.cs deleted file mode 100644 index e94a74fb..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/CreateUpdatePartSwitchDto.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class CreateUpdatePartSwitchDto - { - /// - /// 零件编码 - /// - [Required] - [StringLength(100)] - public virtual string SourcePartCode { get; set; } - /// - /// 切换为零件编码 - /// - [Required] - [StringLength(100)] - public virtual string TargetPartCode { get; set; } - /// - /// 生效开始时间 - /// - public virtual DateTime? ActiveBeginTime { get; set; } - /// - /// 生效结束时间 - /// - public virtual DateTime? ActiveEndTime { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/PartSwitchDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/PartSwitchDto.cs deleted file mode 100644 index 72ca77d1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/PartSwitchDto.cs +++ /dev/null @@ -1,57 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class PartSwitchDto: AuditedEntityDto - { - /// - /// 零件编码 - /// - [ExporterHeader(DisplayName = "零件编码")] - [ImporterHeader(Name = "零件编码")] - public virtual string SourcePartCode { get; set; } - /// - /// 零件名称 - /// - [ExporterHeader(DisplayName = "零件名称")] - [ImporterHeader(Name = "零件名称")] - public virtual string SourcePartName { get; set; } - /// - /// 切换为零件编码 - /// - [ExporterHeader(DisplayName = "切换为零件编码")] - [ImporterHeader(Name = "切换为零件编码")] - public virtual string TargetPartCode { get; set; } - /// - /// 切换为零件名称 - /// - [ExporterHeader(DisplayName = "切换为零件名称")] - [ImporterHeader(Name = "切换为零件名称")] - public virtual string TargetPartName { get; set; } - - /// - /// 生效开始时间 - /// - [ExporterHeader(DisplayName = "生效开始时间")] - [ImporterHeader(Name = "生效开始时间")] - public virtual DateTime? ActiveBeginTime { get; set; } - /// - /// 生效结束时间 - /// - [ExporterHeader(DisplayName = "生效结束时间")] - [ImporterHeader(Name = "生效结束时间")] - public virtual DateTime? ActiveEndTime { get; set; } - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/QueryPartSwitchDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/QueryPartSwitchDto.cs deleted file mode 100644 index 3a6ba21e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Dtos/QueryPartSwitchDto.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class QueryPartSwitchDto : PagedAndSortedBase - { - /// - /// 零件编码 - /// - public virtual string SourcePartCode { get; set; } - /// - /// 零件名称 - /// - public virtual string SourcePartName { get; set; } - /// - /// 切换为零件编码 - /// - public virtual string TargetPartCode { get; set; } - /// - /// 切换为零件名称 - /// - public virtual string TargetPartName { get; set; } - /// - /// 是否有效 - /// - public virtual bool? IsValid { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Interfaces/IPartSwitchAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Interfaces/IPartSwitchAppService.cs deleted file mode 100644 index 4a9146b9..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgBaseData/PartSwitchs/Interfaces/IPartSwitchAppService.cs +++ /dev/null @@ -1,66 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgBaseData -{ - public interface IPartSwitchAppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryPartSwitchDto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreateAsync(CreateUpdatePartSwitchDto input); - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - Task UpdateAsync(Guid id, CreateUpdatePartSwitchDto input); - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryPartSwitchDto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100Dto.cs deleted file mode 100644 index 00785127..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100Dto.cs +++ /dev/null @@ -1,128 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "M100单据", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class BillM100Dto: AuditedEntityDto - { - /// - /// 流水号# - /// - [ExporterHeader(DisplayName = "流水号")] - [ImporterHeader(Name = "流水号")] - public int? SerialNum { get; set; } - - /// - /// 大众顺序号 - /// - [ExporterHeader(DisplayName = "大众顺序号")] - [ImporterHeader(Name = "大众顺序号")] - public int? HostSN { get; set; } - - /// - /// KNR - /// - [ExporterHeader(DisplayName = "KNR")] - [ImporterHeader(Name = "KNR")] - public string KNR { get; set; } - - /// - /// 底牌号# - /// - [ExporterHeader(DisplayName = "底牌号")] - [ImporterHeader(Name = "底牌号")] - public string VIN { get; set; } - - /// - /// 总成ID - /// - [ExporterHeader(DisplayName = "总成ID")] - [ImporterHeader(Name = "总成ID")] - public Guid? AssemblyID { get; set; } - - /// - /// 上线时间 - /// - [ExporterHeader(DisplayName = "上线时间")] - [ImporterHeader(Name = "上线时间")] - public DateTime? OnlineTime { get; set; } - - /// - /// 车型代码(取通用字典) - /// - [ExporterHeader(DisplayName = "车型代码")] - [ImporterHeader(Name = "车型代码")] - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - [ExporterHeader(DisplayName = " 生产线")] - [ImporterHeader(Name = " 生产线")] - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - [ExporterHeader(DisplayName = "版本")] - [ImporterHeader(Name = "版本")] - public string Version { get; set; } - - /// - /// 接收时间 - /// - [ExporterHeader(DisplayName = "接收时间")] - [ImporterHeader(Name = "接收时间")] - public DateTime? ReceiveTime { get; set; } - - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布;-1 预批量) - /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] - public BillStatusEnum BillStatus { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - - /// - /// 涂装重复单据包含的零件列表 - /// - public List BillM100Parts { get; set; } - - /// - /// 手工操作类型:0 none,1 手工添加,2 手工修改 - /// - [ExporterHeader(DisplayName = "手工操作类型")] - [ImporterHeader(Name = "手工操作类型")] - public ManualOperationTypeEnum OperationType { get; set; } - - /// - /// 手工操作员 - /// - [ExporterHeader(DisplayName = "手工操作员")] - [ImporterHeader(Name = "手工操作员")] - public string Operator { get; set; } - - /// - /// 手工操作日期 - /// - [ExporterHeader(DisplayName = "手工操作日期")] - [ImporterHeader(Name = "手工操作日期")] - public DateTime? OperationTime { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100PartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100PartDto.cs deleted file mode 100644 index 52f94516..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/BillM100PartDto.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "M100单据包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class BillM100PartDto : EntityDto - { - /// - /// 客户零件代码 - /// - [ExporterHeader(DisplayName = "客户零件代码")] - [ImporterHeader(Name = "客户零件代码")] - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - [ExporterHeader(DisplayName = "客户零件数量")] - [ImporterHeader(Name = "客户零件数量")] - public double? PartNum { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100Dto.cs deleted file mode 100644 index 825fa942..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100Dto.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - [Serializable] - public class CreateUpdateBillM100Dto - { - - /// - /// 流水号# - /// - public int? SerialNum { get; set; } - - /// - /// 大众顺序号 - /// - [Required] - public int? HostSN { get; set; } - - /// - /// KNR - /// - [Required] - [StringLength(100)] - public string KNR { get; set; } - - /// - /// 底牌号# - /// - [Required] - [StringLength(100)] - public string VIN { get; set; } - - /// - /// 总成ID - /// - public Guid? AssemblyID { get; set; } - - /// - /// 上线时间 - /// - [Required] - public DateTime? OnlineTime { get; set; } - - /// - /// 车型代码(取通用字典) - /// - [Required] - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public string Version { get; set; } - - /// - /// 接收时间 - /// - [Required] - public DateTime? ReceiveTime { get; set; } - - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - /// - [Required] - public BillStatusEnum BillStatus { get; set; } - - /// - /// 描述 - /// - [Required] - [StringLength(200)] - public string Description { get; set; } - - /// - /// 涂装重复单据包含的零件列表 - /// - public virtual List BillM100Parts { get; set; } - - /// - /// 手工操作类型:0 none,1 手工添加,2 手工修改 - /// - public ManualOperationTypeEnum OperationType { get; set; } - - /// - /// 手工操作员 - /// - public string Operator { get; set; } - - /// - /// 手工操作日期 - /// - public DateTime? OperationTime { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100PartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100PartDto.cs deleted file mode 100644 index dd196dd2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateBillM100PartDto.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - [Serializable] - public class CreateUpdateBillM100PartDto - { - /// - /// 客户零件代码 - /// - [Required] - [StringLength(100)] - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - [Required] - public double? PartNum { get; set; } - - /// - /// 描述 - /// - [StringLength(200)] - public string Description { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateNewM100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateNewM100Dto.cs deleted file mode 100644 index 6fbd0179..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/CreateUpdateNewM100Dto.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using WY.NewJit.MsgBaseData; - -namespace WY.NewJit.MsgCheck -{ - public class CreateUpdateNewM100Dto - { - public CreateUpdateBillM100Dto M100Bill { get; set; } - - public List ErpAssemblyList { get; set; } - - public CreateUpdateNewM100Dto() - { - ErpAssemblyList = new List(); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/MenBanPrintInfo.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/MenBanPrintInfo.cs deleted file mode 100644 index b53d4710..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/MenBanPrintInfo.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.MsgCheck -{ - public class MenBanPrintInfo - { - public PrintTypeEnum PrintType { get; set; } - } - - public enum PrintTypeEnum - { - 初次打印, - 重新打印, - 补打 - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/NewM100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/NewM100Dto.cs deleted file mode 100644 index d68f1c8b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/NewM100Dto.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using WY.NewJit.MsgBaseData; - -namespace WY.NewJit.MsgCheck -{ - public class NewM100Dto - { - public BillM100Dto M100Bill { get; set; } - - public List ErpAssemblyList { get; set; } - - public NewM100Dto() - { - ErpAssemblyList = new List(); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/QueryBillM100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/QueryBillM100Dto.cs deleted file mode 100644 index e0c68b9f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/QueryBillM100Dto.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgCheck -{ - [Serializable] - public class QueryBillM100Dto : PagedAndSortedBase - { - /// - /// 流水号起 - /// - public int? SerialNumBegin { get; set; } - - /// - /// 流水号止 - /// - public int? SerialNumEnd { get; set; } - - /// - /// 大众顺序号起 - /// - public int? HostSNBegin { get; set; } - - /// - /// 大众顺序号止 - /// - public int? HostSNEnd { get; set; } - - /// - /// KNR起 - /// - public string KNRBegin { get; set; } - - /// - /// KNR止 - /// - public string KNREnd { get; set; } - - /// - /// 底牌号起 - /// - public string VINBegin { get; set; } - - /// - /// 底牌号止 - /// - public string VINEnd { get; set; } - - /// - /// 总成ID - /// - public Guid? AssemblyID { get; set; } - - /// - /// 上线时间起 - /// - public DateTime? OnlineTimeBegin { get; set; } - - /// - /// 上线时间止 - /// - public DateTime? OnlineTimeEnd { get; set; } - - - /// - /// 车型代码(取通用字典) - /// - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public string Version { get; set; } - - /// - /// 接收时间起 - /// - public DateTime? ReceiveTimeBegin { get; set; } - - /// - /// 接收时间止 - /// - public DateTime? ReceiveTimeEnd { get; set; } - - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - /// - public BillStatusEnum? BillStatus { get; set; } - - /// - /// 是否单据维护 - /// - public bool? IsBillMaintenance { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ResultBillM100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ResultBillM100Dto.cs deleted file mode 100644 index caccb29a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ResultBillM100Dto.cs +++ /dev/null @@ -1,139 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "M100单据查询结果", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class ResultBillM100Dto : EntityDto - { - /// - /// 流水号# - /// - [ExporterHeader(DisplayName = "流水号")] - [ImporterHeader(Name = "流水号")] - public int? SerialNum { get; set; } - - /// - /// 大众顺序号 - /// - [ExporterHeader(DisplayName = "大众顺序号")] - [ImporterHeader(Name = "大众顺序号")] - public int? HostSN { get; set; } - - /// - /// KNR - /// - [ExporterHeader(DisplayName = "KNR")] - [ImporterHeader(Name = "KNR")] - public string KNR { get; set; } - - /// - /// 底牌号# - /// - [ExporterHeader(DisplayName = "底牌号")] - [ImporterHeader(Name = "底牌号")] - public string VIN { get; set; } - - /// - /// 总成ID - /// - [ExporterHeader(DisplayName = "总成ID")] - [ImporterHeader(Name = "总成ID")] - public Guid? AssemblyID { get; set; } - - /// - /// 上线时间 - /// - [ExporterHeader(DisplayName = "上线时间")] - [ImporterHeader(Name = "上线时间")] - public DateTime? OnlineTime { get; set; } - - /// - /// 车型代码(取通用字典) - /// - [ExporterHeader(DisplayName = "车型代码")] - [ImporterHeader(Name = "车型代码")] - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - [ExporterHeader(DisplayName = "版本")] - [ImporterHeader(Name = "版本")] - public string Version { get; set; } - - /// - /// 接收时间 - /// - [ExporterHeader(DisplayName = "接收时间")] - [ImporterHeader(Name = "接收时间")] - public DateTime? ReceiveTime { get; set; } - - /// - /// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】 - /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] - public BillStatusEnum BillStatus { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - - ///// - ///// 涂装重复单据包含的零件列表 - ///// - //public List M100BillParts { get; set; } - - /// - /// 总成名称 - /// - [ExporterHeader(DisplayName = "总成名称")] - [ImporterHeader(Name = "总成名称")] - public string AssemblyName { get; set; } - - /// - /// 车型名称(取通用字典) - /// - [ExporterHeader(DisplayName = "车型名称")] - [ImporterHeader(Name = "车型名称")] - public string VehicleModelName { get; set; } - - /// - /// R100总成名称 - /// - [ExporterHeader(DisplayName = "R100总成名称")] - [ImporterHeader(Name = "R100总成名称")] - public string R100AssemblyName { get; set; } - - /// - /// R100上线时间 - /// - [ExporterHeader(DisplayName = "R100上线时间")] - [ImporterHeader(Name = "R100上线时间")] - public DateTime? R100OnlineTime { get; set; } - - /// - /// 打印时间 - /// - [ExporterHeader(DisplayName = "打印时间")] - [ImporterHeader(Name = "打印时间")] - public virtual DateTime? PrintTime { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ZhuHuBanPrintInfo.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ZhuHuBanPrintInfo.cs deleted file mode 100644 index f078c1a1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Dtos/ZhuHuBanPrintInfo.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.MsgCheck -{ - public class ZhuHuBanPrintInfo - { - public PrintTypeEnum PrintType { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/IBillM100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/IBillM100AppService.cs deleted file mode 100644 index b5b89e71..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/IBillM100AppService.cs +++ /dev/null @@ -1,82 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - public interface IBillM100AppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryBillM100Dto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreateAsync(CreateUpdateBillM100Dto input); - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - Task UpdateAsync(Guid id, CreateUpdateBillM100Dto input); - - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryBillM100Dto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - - /// - /// 打印门板 - /// - /// - /// 执行成功返回真 - Task PrintMenBan(MenBanPrintInfo input); - - /// - /// 打印柱护板 - /// - /// - /// 执行成功返回真 - Task PrintZhuHuBan(ZhuHuBanPrintInfo input); - - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/INewM100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/INewM100AppService.cs deleted file mode 100644 index 36ad309a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillM100s/Interfaces/INewM100AppService.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using WY.NewJit.MsgBaseData; - -namespace WY.NewJit.MsgCheck -{ - public interface INewM100AppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryBillM100Dto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreateAsync(CreateUpdateNewM100Dto input); - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - Task UpdateAsync(Guid id, CreateUpdateNewM100Dto input); - - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryBillM100Dto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - - /// - /// 根据KNR取ERP总成列表 - /// - /// - /// - Task> GetErpAssemblyListAsync(string knr); - - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100Dto.cs deleted file mode 100644 index f5c408bd..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100Dto.cs +++ /dev/null @@ -1,94 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "R100单据", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class BillR100Dto: AuditedEntityDto - { - /// - /// 大众顺序号 - /// - [ExporterHeader(DisplayName = "大众顺序号")] - [ImporterHeader(Name = "大众顺序号")] - public int? HostSN { get; set; } - - /// - /// KNR - /// - [ExporterHeader(DisplayName = "KNR")] - [ImporterHeader(Name = "KNR")] - public string KNR { get; set; } - - /// - /// 总成ID - /// - [ExporterHeader(DisplayName = "总成ID")] - [ImporterHeader(Name = "总成ID")] - public Guid? AssemblyID { get; set; } - - /// - /// 上线时间 - /// - [ExporterHeader(DisplayName = "上线时间")] - [ImporterHeader(Name = "上线时间")] - public DateTime? OnlineTime { get; set; } - - /// - /// 接收时间 - /// - [ExporterHeader(DisplayName = "接收时间")] - [ImporterHeader(Name = "接收时间")] - public DateTime? ReceiveTime { get; set; } - - /// - /// 车型代码(取通用字典) - /// - [ExporterHeader(DisplayName = "车型代码")] - [ImporterHeader(Name = "车型代码")] - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - [ExporterHeader(DisplayName = " 生产线")] - [ImporterHeader(Name = " 生产线")] - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - [ExporterHeader(DisplayName = "版本")] - [ImporterHeader(Name = "版本")] - public string Version { get; set; } - - - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] - public BillStatusEnum BillStatus { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - - /// - /// 焊装重复单据包含的零件列表 - /// - public List BillR100Parts { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100PartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100PartDto.cs deleted file mode 100644 index 3991afad..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/BillR100PartDto.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "R100单据包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class BillR100PartDto : EntityDto - { - /// - /// 客户零件代码 - /// - [ExporterHeader(DisplayName = "客户零件代码")] - [ImporterHeader(Name = "客户零件代码")] - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - [ExporterHeader(DisplayName = "客户零件数量")] - [ImporterHeader(Name = "客户零件数量")] - public double? PartNum { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100Dto.cs deleted file mode 100644 index 27caec81..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100Dto.cs +++ /dev/null @@ -1,80 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - [Serializable] - public class CreateUpdateBillR100Dto - { - - /// - /// 大众顺序号 - /// - [Required] - public int? HostSN { get; set; } - - /// - /// KNR - /// - [Required] - [StringLength(100)] - public string KNR { get; set; } - - /// - /// 总成ID - /// - [Required] - public Guid? AssemblyID { get; set; } - - /// - /// 上线时间 - /// - [Required] - public DateTime? OnlineTime { get; set; } - - /// - /// 接收时间 - /// - [Required] - public DateTime? ReceiveTime { get; set; } - - /// - /// 车型代码(取通用字典) - /// - [Required] - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public string Version { get; set; } - - - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - /// - [Required] - public BillStatusEnum BillStatus { get; set; } - - /// - /// 描述 - /// - [Required] - [StringLength(200)] - public string Description { get; set; } - - /// - /// 焊装重复单据包含的零件列表 - /// - public List BillR100Parts { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100PartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100PartDto.cs deleted file mode 100644 index 47475688..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/CreateUpdateBillR100PartDto.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - [Serializable] - public class CreateUpdateBillR100PartDto - { - /// - /// 客户零件代码 - /// - [Required] - [StringLength(100)] - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - [Required] - public double? PartNum { get; set; } - - /// - /// 描述 - /// - [StringLength(200)] - public string Description { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/QueryBillR100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/QueryBillR100Dto.cs deleted file mode 100644 index 3011906f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/QueryBillR100Dto.cs +++ /dev/null @@ -1,77 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgCheck -{ - [Serializable] - public class QueryBillR100Dto : PagedAndSortedBase - { - /// - /// 大众顺序号起 - /// - public int? HostSNBegin { get; set; } - - /// - /// 大众顺序号止 - /// - public int? HostSNEnd { get; set; } - - /// - /// KNR起 - /// - public string KNRBegin { get; set; } - - /// - /// KNR止 - /// - public string KNREnd { get; set; } - /// - /// 总成ID - /// - public Guid? AssemblyID { get; set; } - - /// - /// 上线时间起 - /// - public DateTime? OnlineTimeBegin { get; set; } - - /// - /// 上线时间止 - /// - public DateTime? OnlineTimeEnd { get; set; } - - /// - /// 接收时间起 - /// - public DateTime? ReceiveTimeBegin { get; set; } - - /// - /// 接收时间止 - /// - public DateTime? ReceiveTimeEnd { get; set; } - - /// - /// 车型代码(取通用字典) - /// - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public string Version { get; set; } - - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - /// - public BillStatusEnum? BillStatus { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/ResultBillR100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/ResultBillR100Dto.cs deleted file mode 100644 index b9559fc0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Dtos/ResultBillR100Dto.cs +++ /dev/null @@ -1,123 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "R100单据查询结果", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class ResultBillR100Dto : EntityDto - { - /// - /// KNR - /// - [ExporterHeader(DisplayName = "KNR")] - [ImporterHeader(Name = "KNR")] - public string KNR { get; set; } - - /// - /// 一个或多个ERP总成编码(逗号分隔) - /// - [ExporterHeader(DisplayName = "总成编码")] - [ImporterHeader(Name = "总成编码")] - public string ErpAssemblyCode { get; set; } - - /// - /// 一个或多个ERP总成名称(逗号分隔) - /// - [ExporterHeader(DisplayName = "总成名称")] - [ImporterHeader(Name = "总成名称")] - public string ErpAssemblyName { get; set; } - - /// - /// ERP总成数量 - /// - [ExporterHeader(DisplayName = "总成数量")] - [ImporterHeader(Name = "总成数量")] - public int ErpAssemblyNum { get; set; } - - /// - /// 大众顺序号 - /// - [ExporterHeader(DisplayName = "大众顺序号")] - [ImporterHeader(Name = "大众顺序号")] - public int? HostSN { get; set; } - - /// - /// 上线时间 - /// - [ExporterHeader(DisplayName = "上线时间")] - [ImporterHeader(Name = "上线时间")] - public DateTime? OnlineTime { get; set; } - - /// - /// 接收时间 - /// - [ExporterHeader(DisplayName = "接收时间")] - [ImporterHeader(Name = "接收时间")] - public DateTime? ReceiveTime { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - [ExporterHeader(DisplayName = "生产线")] - [ImporterHeader(Name = "生产线")] - public virtual string ProductLine { get; set; } - - /// - /// 车型代码(取通用字典) - /// - [ExporterHeader(DisplayName = "车型代码")] - [ImporterHeader(Name = "车型代码")] - public string VehicleModelCode { get; set; } - - /// - /// 版本 - /// - [ExporterHeader(DisplayName = "版本")] - [ImporterHeader(Name = "版本")] - public string Version { get; set; } - - /// - /// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】 - /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] - public BillStatusEnum BillStatus { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - - /// - /// 总成名称 - /// - public string AssemblyName { get; set; } - - /// - /// 车型名称(取通用字典) - /// - public string VehicleModelName { get; set; } - - /// - /// 总成ID - /// - public Guid? AssemblyID { get; set; } - - /// - /// 打印时间 - /// - [ExporterHeader(DisplayName = "打印时间")] - [ImporterHeader(Name = "打印时间")] - public virtual DateTime? PrintTime { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Interfaces/IBillR100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Interfaces/IBillR100AppService.cs deleted file mode 100644 index 25984b0e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/BillR100s/Interfaces/IBillR100AppService.cs +++ /dev/null @@ -1,74 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - public interface IBillR100AppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryBillR100Dto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreateAsync(CreateUpdateBillR100Dto input); - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - Task UpdateAsync(Guid id, CreateUpdateBillR100Dto input); - - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryBillR100Dto input); - - /// - /// 导出包含ERP总成编码的信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportErpAssemblyCodeAsync(QueryBillR100Dto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/IR100M100CompareAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/IR100M100CompareAppService.cs deleted file mode 100644 index a199ce7e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/IR100M100CompareAppService.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - public interface IR100M100CompareAppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryCompareDto input); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryCompareDto input); - - - - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/QueryCompareDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/QueryCompareDto.cs deleted file mode 100644 index 9d47fcc7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/QueryCompareDto.cs +++ /dev/null @@ -1,114 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgCheck -{ - [Serializable] - public class QueryCompareDto : PagedAndSortedBase - { - /// - /// 流水号起 - /// - public int? SerialNumBegin { get; set; } - - /// - /// 流水号止 - /// - public int? SerialNumEnd { get; set; } - - /// - /// 大众顺序号起 - /// - public int? HostSNBegin { get; set; } - - /// - /// 大众顺序号止 - /// - public int? HostSNEnd { get; set; } - - /// - /// KNR起 - /// - public string KNRBegin { get; set; } - - /// - /// KNR止 - /// - public string KNREnd { get; set; } - - /// - /// 底牌号起 - /// - public string VINBegin { get; set; } - - /// - /// 底牌号止 - /// - public string VINEnd { get; set; } - - /// - /// 总成ID - /// - public Guid? AssemblyID { get; set; } - - /// - /// 上线时间起 - /// - public DateTime? OnlineTimeBegin { get; set; } - - /// - /// 上线时间止 - /// - public DateTime? OnlineTimeEnd { get; set; } - - - /// - /// 车型代码(取通用字典) - /// - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public string Version { get; set; } - - /// - /// 接收时间起 - /// - public DateTime? ReceiveTimeBegin { get; set; } - - /// - /// 接收时间止 - /// - public DateTime? ReceiveTimeEnd { get; set; } - - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - /// - public BillStatusEnum? BillStatus { get; set; } - - /// - /// 是否单据维护 - /// - public bool? IsBillMaintenance { get; set; } - - /// - /// 有焊装无总装 - /// - public bool HasR100NotHasM100 { get; set; } - - /// - /// 有焊装有总装 - /// - public bool HasR100HasM100 { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/ResultCompareDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/ResultCompareDto.cs deleted file mode 100644 index 732c3e84..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/R100M100Compares/ResultCompareDto.cs +++ /dev/null @@ -1,116 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "焊装总装对比", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class ResultCompareDto : EntityDto - { - /// - /// 大众顺序号 - /// - [ExporterHeader(DisplayName = "大众顺序号")] - [ImporterHeader(Name = "大众顺序号")] - public int? HostSN { get; set; } - - /// - /// KNR - /// - [ExporterHeader(DisplayName = "KNR")] - [ImporterHeader(Name = "KNR")] - public string KNR { get; set; } - - /// - /// R100单据状态 - /// - [ExporterHeader(DisplayName = "R100单据状态")] - [ImporterHeader(Name = "R100单据状态")] - public string R100BillStatus { get; set; } - - /// - /// R100上线时间 - /// - [ExporterHeader(DisplayName = "R100上线时间")] - [ImporterHeader(Name = "R100上线时间")] - public DateTime? R100OnlineTime { get; set; } - - /// - /// R100接收时间 - /// - [ExporterHeader(DisplayName = "R100接收时间")] - [ImporterHeader(Name = "R100接收时间")] - public DateTime? R100ReceiveTime { get; set; } - - /// - /// 车型代码(取通用字典) - /// - [ExporterHeader(DisplayName = "车型代码")] - [ImporterHeader(Name = "车型代码")] - public string VehicleModelCode { get; set; } - - /// - /// 版本 - /// - [ExporterHeader(DisplayName = "版本")] - [ImporterHeader(Name = "版本")] - public string Version { get; set; } - - //---------------------------M100 - /// - /// 流水号# - /// - [ExporterHeader(DisplayName = "流水号")] - [ImporterHeader(Name = "流水号")] - public int? SerialNum { get; set; } - - /// - /// 底牌号# - /// - [ExporterHeader(DisplayName = "底牌号")] - [ImporterHeader(Name = "底牌号")] - public string VIN { get; set; } - - /// - /// M100上线时间 - /// - [ExporterHeader(DisplayName = "M100上线时间")] - [ImporterHeader(Name = "M100上线时间")] - public DateTime? M100OnlineTime { get; set; } - - /// - /// M100接收时间 - /// - [ExporterHeader(DisplayName = "M100接收时间")] - [ImporterHeader(Name = "M100接收时间")] - public DateTime? M100ReceiveTime { get; set; } - - /// - /// M100单据状态【0 空;1 未匹配;2 已匹配;3 已发布】 - /// - [ExporterHeader(DisplayName = "M100单据状态")] - [ImporterHeader(Name = "M100单据状态")] - public BillStatusEnum M100BillStatus { get; set; } - - /// - /// R100一个或多个ERP总成编码(逗号分隔) - /// - [ExporterHeader(DisplayName = "R100总成编码")] - [ImporterHeader(Name = "R100总成编码")] - public string R100ErpAssemblyCode { get; set; } - - /// - /// R100一个或多个ERP总成名称(逗号分隔) - /// - [ExporterHeader(DisplayName = "R100总成名称")] - [ImporterHeader(Name = "R100总成名称")] - public string R100ErpAssemblyName { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100Dto.cs deleted file mode 100644 index 9f5005af..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100Dto.cs +++ /dev/null @@ -1,85 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 涂装重复单据 - /// - [Serializable] - public class CreateUpdateRepeatM100Dto - { - /// - /// 报文接收ID,对应报文接收表主键 - /// - public Guid MessageFileReceiveID { get; set; } - - /// - /// 流水号# - /// - public int? SerialNum { get; set; } - - /// - /// 大众顺序号 - /// - public int? HostSN { get; set; } - /// - /// KNR - /// - public string KNR { get; set; } - - /// - /// 底牌号# - /// - public string VIN { get; set; } - /// - /// 总成ID - /// - public Guid? AssemblyID { get; set; } - /// - /// 上线时间 - /// - public DateTime? OnlineTime { get; set; } - /// - /// 接收时间 - /// - public DateTime? ReceiveTime { get; set; } - /// - /// 车型代码(取通用字典) - /// - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public string Version { get; set; } - /// - /// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】 - /// - public BillStatusEnum BillStatus { get; set; } - - /// - /// 描述 - /// - public virtual string Description { get; set; } - - /// - /// 涂装重复单据包含的零件列表 - /// - public virtual List M100RepeatParts { get; set; } - - public CreateUpdateRepeatM100Dto() - { } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100PartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100PartDto.cs deleted file mode 100644 index 630b0632..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/CreateUpdateRepeatM100PartDto.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 涂装重复单据和零件关系表 - /// - [Serializable] - public class CreateUpdateRepeatM100PartDto - { - /// - /// 客户零件代码 - /// - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - public double? PartNum { get; set; } - - /// - /// 描述 - /// - public string Description { get; set; } - - public CreateUpdateRepeatM100PartDto() - { } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/QueryRepeatM100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/QueryRepeatM100Dto.cs deleted file mode 100644 index 6faf13f8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/QueryRepeatM100Dto.cs +++ /dev/null @@ -1,87 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgCheck -{ - [Serializable] - public class QueryRepeatM100Dto : PagedAndSortedBase - { - /// - /// 大众顺序号起 - /// - public int? HostSNBegin { get; set; } - - /// - /// 大众顺序号止 - /// - public int? HostSNEnd { get; set; } - - /// - /// KNR起 - /// - public string KNRBegin { get; set; } - - /// - /// KNR止 - /// - public string KNREnd { get; set; } - - /// - /// 底牌号起 - /// - public string VINBegin { get; set; } - - /// - /// 底牌号止 - /// - public string VINEnd { get; set; } - - /// - /// 总成ID - /// - //public Guid? AssemblyID { get; set; } - - /// - /// 上线时间起 - /// - public DateTime? OnlineTimeBegin { get; set; } - - /// - /// 上线时间止 - /// - public DateTime? OnlineTimeEnd { get; set; } - - - /// - /// 车型代码(取通用字典) - /// - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - - /// - /// 版本 - /// - public string Version { get; set; } - - /// - /// 接收时间起 - /// - public DateTime? ReceiveTimeBegin { get; set; } - - /// - /// 接收时间止 - /// - public DateTime? ReceiveTimeEnd { get; set; } - - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100Dto.cs deleted file mode 100644 index 18112e99..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100Dto.cs +++ /dev/null @@ -1,115 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "M100重复报文", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class RepeatM100Dto: AuditedEntityDto - { - /// - /// 流水号# - /// - [ExporterHeader(DisplayName = "流水号")] - [ImporterHeader(Name = "流水号")] - public int? SerialNum { get; set; } - - /// - /// 大众顺序号 - /// - [ExporterHeader(DisplayName = "大众顺序号")] - [ImporterHeader(Name = "大众顺序号")] - public int? HostSN { get; set; } - /// - /// KNR - /// - [ExporterHeader(DisplayName = "KNR")] - [ImporterHeader(Name = "KNR")] - public string KNR { get; set; } - - /// - /// 底牌号# - /// - [ExporterHeader(DisplayName = "底牌号")] - [ImporterHeader(Name = "底牌号")] - public string VIN { get; set; } - /// - /// 总成ID - /// - [ExporterHeader(DisplayName = "总成ID")] - [ImporterHeader(Name = "总成ID")] - public Guid? AssemblyID { get; set; } - /// - /// 上线时间 - /// - [ExporterHeader(DisplayName = "上线时间")] - [ImporterHeader(Name = "上线时间")] - public DateTime? OnlineTime { get; set; } - /// - /// 接收时间 - /// - [ExporterHeader(DisplayName = "接收时间")] - [ImporterHeader(Name = "接收时间")] - public DateTime? ReceiveTime { get; set; } - /// - /// 车型代码(取通用字典) - /// - [ExporterHeader(DisplayName = "车型代码")] - [ImporterHeader(Name = "车型代码")] - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - [ExporterHeader(DisplayName = "生产线")] - [ImporterHeader(Name = "生产线")] - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - [ExporterHeader(DisplayName = "版本")] - [ImporterHeader(Name = "版本")] - public string Version { get; set; } - /// - /// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】 - /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] - public BillStatusEnum BillStatus { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - - /// - /// 涂装重复单据包含的零件列表 - /// - public List M100RepeatParts { get; set; } - - /// - /// 总成名称 - /// - [ExporterHeader(DisplayName = "总成名称")] - [ImporterHeader(Name = "总成名称")] - public string AssemblyName { get; set; } - - /// - /// 车型名称(取通用字典) - /// - [ExporterHeader(DisplayName = "车型名称")] - [ImporterHeader(Name = "车型名称")] - public string VehicleModelName { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100PartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100PartDto.cs deleted file mode 100644 index 21e91b32..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Dtos/RepeatM100PartDto.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "M100重复报文包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class RepeatM100PartDto : EntityDto - { - /// - /// 客户零件代码 - /// - [ExporterHeader(DisplayName = "客户零件代码")] - [ImporterHeader(Name = "客户零件代码")] - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - [ExporterHeader(DisplayName = "客户零件数量")] - [ImporterHeader(Name = "客户零件数量")] - public double? PartNum { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Interfaces/IRepeatM100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Interfaces/IRepeatM100AppService.cs deleted file mode 100644 index cd2b65b6..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/Interfaces/IRepeatM100AppService.cs +++ /dev/null @@ -1,58 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - public interface IRepeatM100AppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryRepeatM100Dto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - Task> CreateAsync(CreateUpdateRepeatM100Dto input); - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryRepeatM100Dto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/IRepeatR100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/IRepeatR100AppService.cs deleted file mode 100644 index ada884b4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/IRepeatR100AppService.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - public interface IRepeatR100AppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryRepeatR100Dto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryRepeatR100Dto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/QueryRepeatR100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/QueryRepeatR100Dto.cs deleted file mode 100644 index b9c6a008..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/QueryRepeatR100Dto.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgCheck -{ - [Serializable] - public class QueryRepeatR100Dto : PagedAndSortedBase - { - - /// - /// 大众顺序号起 - /// - public int? HostSNBegin { get; set; } - - /// - /// 大众顺序号止 - /// - public int? HostSNEnd { get; set; } - - /// - /// KNR起 - /// - public string KNRBegin { get; set; } - - /// - /// KNR止 - /// - public string KNREnd { get; set; } - - /// - /// 总成ID - /// - //public Guid? AssemblyID { get; set; } - - /// - /// 上线时间起 - /// - public DateTime? OnlineTimeBegin { get; set; } - - /// - /// 上线时间止 - /// - public DateTime? OnlineTimeEnd { get; set; } - - - /// - /// 车型代码(取通用字典) - /// - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - - /// - /// 版本 - /// - public string Version { get; set; } - - /// - /// 接收时间起 - /// - public DateTime? ReceiveTimeBegin { get; set; } - - /// - /// 接收时间止 - /// - public DateTime? ReceiveTimeEnd { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100Dto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100Dto.cs deleted file mode 100644 index 42a6b567..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100Dto.cs +++ /dev/null @@ -1,101 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "R100重复报文", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class RepeatR100Dto: AuditedEntityDto - { - - /// - /// 大众顺序号 - /// - [ExporterHeader(DisplayName = "大众顺序号")] - [ImporterHeader(Name = "大众顺序号")] - public int? HostSN { get; set; } - /// - /// KNR - /// - [ExporterHeader(DisplayName = "KNR")] - [ImporterHeader(Name = "KNR")] - public string KNR { get; set; } - - /// - /// 总成ID - /// - [ExporterHeader(DisplayName = "总成ID")] - [ImporterHeader(Name = "总成ID")] - public Guid? AssemblyID { get; set; } - /// - /// 上线时间 - /// - [ExporterHeader(DisplayName = "上线时间")] - [ImporterHeader(Name = "上线时间")] - public DateTime? OnlineTime { get; set; } - /// - /// 接收时间 - /// - [ExporterHeader(DisplayName = "接收时间")] - [ImporterHeader(Name = "接收时间")] - public DateTime? ReceiveTime { get; set; } - /// - /// 车型代码(取通用字典) - /// - [ExporterHeader(DisplayName = "车型代码")] - [ImporterHeader(Name = "车型代码")] - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - [ExporterHeader(DisplayName = "版本")] - [ImporterHeader(Name = "版本")] - public string Version { get; set; } - /// - /// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】 - /// - [ExporterHeader(DisplayName = "单据状态")] - [ImporterHeader(Name = "单据状态")] - public BillStatusEnum BillStatus { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - - /// - /// 涂装重复单据包含的零件列表 - /// - public List R100RepeatParts { get; set; } - - /// - /// 总成名称 - /// - [ExporterHeader(DisplayName = "总成名称")] - [ImporterHeader(Name = "总成名称")] - public string AssemblyName { get; set; } - - /// - /// 车型名称(取通用字典) - /// - [ExporterHeader(DisplayName = "车型名称")] - [ImporterHeader(Name = "车型名称")] - public string VehicleModelName { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100PartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100PartDto.cs deleted file mode 100644 index 0bf3947e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/RepeatMessages/R100Repeat/RepeatR100PartDto.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "R100重复报文包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class RepeatR100PartDto : EntityDto - { - /// - /// 客户零件代码 - /// - [ExporterHeader(DisplayName = "客户零件代码")] - [ImporterHeader(Name = "客户零件代码")] - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - [ExporterHeader(DisplayName = "客户零件数量")] - [ImporterHeader(Name = "客户零件数量")] - public double? PartNum { get; set; } - - /// - /// 描述 - /// - [ExporterHeader(DisplayName = "描述")] - [ImporterHeader(Name = "描述")] - public string Description { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/AddAssemblyCfgDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/AddAssemblyCfgDto.cs deleted file mode 100644 index d21be548..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/AddAssemblyCfgDto.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using WY.NewJit.MsgBaseData; - -namespace WY.NewJit.MsgCheck.UnknownAssemblys -{ - [Serializable] - public class AddAssemblyCfgDto - { - /// - /// 单据ID - /// - public Guid BillID { get; set; } - - /// - /// 扫描点:R100 M100 - /// - public string ScanPoint { get; set; } - - public List ErpAssemblyCfgList { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/BatchParseParam.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/BatchParseParam.cs deleted file mode 100644 index f19337d9..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/BatchParseParam.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.MsgCheck.UnknownAssemblys -{ - public class BatchParseParam - { - public int TakeCount { get; set; } - - public DateTime? BeginDate { get; set; } - - public DateTime? EndDate { get; set; } - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryBillInfoDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryBillInfoDto.cs deleted file mode 100644 index 50e9e111..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryBillInfoDto.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.MsgCheck.UnknownAssemblys -{ - [Serializable] - public class QueryBillInfoDto - { - /// - /// 单据ID - /// - public Guid BillID { get; set; } - - /// - /// 扫描点:R100 M100 - /// - public string ScanPoint { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryUnknownAssemblyDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryUnknownAssemblyDto.cs deleted file mode 100644 index 1513ccfa..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/QueryUnknownAssemblyDto.cs +++ /dev/null @@ -1,95 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgCheck.UnknownAssemblys -{ - [Serializable] - public class QueryUnknownAssemblyDto : PagedAndSortedBase - { - /// - /// 扫描点:R100 M100 - /// - public string ScanPoint { get; set; } - - - /// - /// 大众顺序号起 - /// - public int? HostSNBegin { get; set; } - - /// - /// 大众顺序号止 - /// - public int? HostSNEnd { get; set; } - - /// - /// KNR起 - /// - public string KNRBegin { get; set; } - - /// - /// KNR止 - /// - public string KNREnd { get; set; } - - /// - /// 底牌号起 - /// - public string VINBegin { get; set; } - - /// - /// 底牌号止 - /// - public string VINEnd { get; set; } - - /// - /// 总成ID - /// - public Guid? AssemblyID { get; set; } - - /// - /// 上线时间起 - /// - public DateTime? OnlineTimeBegin { get; set; } - - /// - /// 上线时间止 - /// - public DateTime? OnlineTimeEnd { get; set; } - - - /// - /// 车型代码(取通用字典) - /// - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public string Version { get; set; } - - ///// - ///// 接收时间起 - ///// - //public DateTime? ReceiveTimeBegin { get; set; } - - ///// - ///// 接收时间止 - ///// - //public DateTime? ReceiveTimeEnd { get; set; } - - ///// - ///// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - ///// - //public BillStatusEnum? BillStatus { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ResultUnknownAssemblyDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ResultUnknownAssemblyDto.cs deleted file mode 100644 index 276540ec..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ResultUnknownAssemblyDto.cs +++ /dev/null @@ -1,100 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck.UnknownAssemblys -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "未知总成", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class ResultUnknownAssemblyDto : EntityDto - { - - /// - /// 大众顺序号 - /// - [ExporterHeader(DisplayName = "大众顺序号")] - [ImporterHeader(Name = "大众顺序号")] - public int? HostSN { get; set; } - /// - /// KNR - /// - [ExporterHeader(DisplayName = "KNR")] - [ImporterHeader(Name = "KNR")] - public string KNR { get; set; } - - /// - /// 底牌号# - /// - [ExporterHeader(DisplayName = "底牌号")] - [ImporterHeader(Name = "底牌号")] - public string VIN { get; set; } - - /// - /// 车型代码(取通用字典) - /// - [ExporterHeader(DisplayName = "车型代码")] - [ImporterHeader(Name = "车型代码")] - public string VehicleModelCode { get; set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 车型名称(取通用字典) - /// - [ExporterHeader(DisplayName = "车型名称")] - [ImporterHeader(Name = "车型名称")] - public string VehicleModelName { get; set; } - - /// - /// 扫描点 - /// - [ExporterHeader(DisplayName = "扫描点")] - [ImporterHeader(Name = "扫描点")] - public string ScanPoint { get; set; } - - /// - /// 上线时间 - /// - [ExporterHeader(DisplayName = "上线时间")] - [ImporterHeader(Name = "上线时间")] - public DateTime? OnlineTime { get; set; } - - /// - /// 版本 - /// - [ExporterHeader(DisplayName = "版本")] - [ImporterHeader(Name = "版本")] - public string Version { get; set; } - - /// - /// 总成名称 - /// - [ExporterHeader(DisplayName = "总成名称")] - [ImporterHeader(Name = "总成名称")] - public string AssemblyName { get; set; } - - /// - /// 客户零件数量 - /// - [ExporterHeader(DisplayName = "客户零件数量")] - [ImporterHeader(Name = "客户零件数量")] - public double? PartNum { get; set; } - - /// - /// 文件名 - /// - [ExporterHeader(DisplayName = "文件名")] - [ImporterHeader(Name = "文件名")] - public string FileName { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ToParseInParam.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ToParseInParam.cs deleted file mode 100644 index d01004ac..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/ToParseInParam.cs +++ /dev/null @@ -1,21 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.MsgCheck.UnknownAssemblys -{ - [Serializable] - public class ToParseInParam - { - /// - /// 是否选中全部 - /// - public bool IsSelectAll { get; set; } - - /// - /// 部分选中列表 - /// - public List UnknownAssemblyIdList { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyDto.cs deleted file mode 100644 index 376de455..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyDto.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck.UnknownAssemblys -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "M100重复报文", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class UnknownAssemblyDto: AuditedEntityDto - { - /// - /// 单据ID - /// - public Guid BillID { get; set; } - - /// - /// 扫描点:R100 M100 - /// - public string ScanPoint { get; set; } - - /// - /// 客户零件数量 - /// - public double? PartNum { get; set; } - - /// - /// 描述 - /// - public string Description { get; set; } - - /// - /// 未知总成包含的零件列表 - /// - public List UnknownAssemblyParts { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyPartDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyPartDto.cs deleted file mode 100644 index 6db047dd..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Dtos/UnknownAssemblyPartDto.cs +++ /dev/null @@ -1,32 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck.UnknownAssemblys -{ - /// - /// 零件查询结果DTO - /// - [ExcelExporter(Name = "M100重复报文包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet - [Serializable] - public class UnknownAssemblyPartDto : EntityDto - { - /// - /// 客户零件代码 - /// - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - public double? PartNum { get; set; } - - /// - /// 描述 - /// - public string Description { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Interfaces/IUnknownAssemblyAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Interfaces/IUnknownAssemblyAppService.cs deleted file mode 100644 index 62a62e6c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgCheck/UnknownAssemblys/Interfaces/IUnknownAssemblyAppService.cs +++ /dev/null @@ -1,79 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgCheck.UnknownAssemblys -{ - public interface IUnknownAssemblyAppService - { - #region 接口方法 - - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - Task> GetListAsync(QueryUnknownAssemblyDto input); - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - Task> GetAsync(Guid id); - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - Task DeleteAsync(string id); - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - Task> ExportAsync(QueryUnknownAssemblyDto input); - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - Task ImportAsync(Byte[] input); - - /// - /// 添加总成:根据未知总成中的结算件生成新的总成【客户端自己构造】 - /// - /// 总成、分总成、零件三级关系实体 - /// 执行成功返回真 - Task AddAssemblyAsync(AddAssemblyCfgDto input); - - /// - /// 重新解析 - /// - /// 总成、分总成、零件三级关系实体 - /// 执行成功返回真 - Task ToParseAsync(ToParseInParam input); - - /// - /// 系统初始化时使用,批量解析 - /// - /// - /// - ObjectResultDto BatchParseAsync(BatchParseParam input); - - /// - /// 根据vin从天合mes系统中取erp总成编码列表 - /// - /// - /// - Task>> GetErpAssemblyCodeByMesAsync(string vin); - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgConversion/IMsgConversionAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgConversion/IMsgConversionAppService.cs deleted file mode 100644 index 55dad2fa..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgConversion/IMsgConversionAppService.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.MsgConversion -{ - public interface IMsgConversionAppService - { - /// - /// 报文转换 - /// - /// - void DoConversionMessage(Guid messageReceiveId); - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/IMsgTransmissionAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/IMsgTransmissionAppService.cs deleted file mode 100644 index de49b53e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/IMsgTransmissionAppService.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgTransmission -{ - public interface IMsgTransmissionAppService - { - #region 接口方法 - ObjectResultDto TransmissionMessageAsync(TransmissionParamDto input); - #endregion - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncEto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncEto.cs deleted file mode 100644 index f490db28..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncEto.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.EventBus; -using WY.NewJit.MsgBaseData; - -namespace WY.NewJit.MsgTransmission.TianHe -{ - [EventName("WY.NewJit.SettleAccountFis.AssemblySync")] - public class AssemblySyncEto - { - public AssemblySyncOperationTypeEnum OperationType { get; set; } - - public List AssemblyCfgList { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncOperationType.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncOperationType.cs deleted file mode 100644 index 2a82392e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TianHe/AssemblySyncOperationType.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Text; - -namespace WY.NewJit.MsgTransmission.TianHe -{ - public enum AssemblySyncOperationTypeEnum - { - [Description("添加")] - Add, - [Description("修改")] - Update, - [Description("删除")] - Delete - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TransmissionParamDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TransmissionParamDto.cs deleted file mode 100644 index 86e97c04..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/MsgTransmission/TransmissionParamDto.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Volo.Abp.Application.Dtos; - -namespace WY.NewJit.MsgTransmission -{ - public class TransmissionParamDto : EntityDto - { - private int _takeRecordCount = 2; - - /// - /// 读取记录数 - /// - public int TakeRecordCount - { - get - { - return _takeRecordCount; - } - set - { - _takeRecordCount = value; - } - } - - public TransmissionParamDto(int takeRecordCount) - { - _takeRecordCount = takeRecordCount; - } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/NewJitApplicationContractsModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/NewJitApplicationContractsModule.cs deleted file mode 100644 index 4569d870..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/NewJitApplicationContractsModule.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Volo.Abp.Account; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Modularity; -using Volo.Abp.ObjectExtending; -using Volo.Abp.PermissionManagement; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; - -namespace WY.NewJit -{ - [DependsOn( - typeof(NewJitDomainSharedModule), - typeof(AbpAccountApplicationContractsModule), - typeof(AbpFeatureManagementApplicationContractsModule), - typeof(AbpIdentityApplicationContractsModule), - typeof(AbpPermissionManagementApplicationContractsModule), - typeof(AbpSettingManagementApplicationContractsModule), - typeof(AbpTenantManagementApplicationContractsModule), - typeof(AbpObjectExtendingModule) - )] - public class NewJitApplicationContractsModule : AbpModule - { - public override void PreConfigureServices(ServiceConfigurationContext context) - { - NewJitDtoExtensions.Configure(); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/NewJitDtoExtensions.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/NewJitDtoExtensions.cs deleted file mode 100644 index c4d8ffbe..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/NewJitDtoExtensions.cs +++ /dev/null @@ -1,29 +0,0 @@ -using Volo.Abp.Identity; -using Volo.Abp.ObjectExtending; -using Volo.Abp.Threading; - -namespace WY.NewJit -{ - public static class NewJitDtoExtensions - { - private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); - - public static void Configure() - { - OneTimeRunner.Run(() => - { - /* You can add extension properties to DTOs - * defined in the depended modules. - * - * Example: - * - * ObjectExtensionManager.Instance - * .AddOrUpdateProperty("Title"); - * - * See the documentation for more: - * https://docs.abp.io/en/abp/latest/Object-Extensions - */ - }); - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissionDefinitionProvider.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissionDefinitionProvider.cs deleted file mode 100644 index dfa569eb..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissionDefinitionProvider.cs +++ /dev/null @@ -1,22 +0,0 @@ -using WY.NewJit.Localization; -using Volo.Abp.Authorization.Permissions; -using Volo.Abp.Localization; - -namespace WY.NewJit.Permissions -{ - public class NewJitPermissionDefinitionProvider : PermissionDefinitionProvider - { - public override void Define(IPermissionDefinitionContext context) - { - var myGroup = context.AddGroup(NewJitPermissions.GroupName); - - //Define your own permissions here. Example: - //myGroup.AddPermission(NewJitPermissions.MyPermission1, L("Permission:MyPermission1")); - } - - private static LocalizableString L(string name) - { - return LocalizableString.Create(name); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissions.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissions.cs deleted file mode 100644 index 8e576ed6..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/Permissions/NewJitPermissions.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace WY.NewJit.Permissions -{ - public static class NewJitPermissions - { - public const string GroupName = "NewJit"; - - //Add your own permission names. Example: - //public const string MyPermission1 = GroupName + ".MyPermission1"; - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.csproj deleted file mode 100644 index e072ea9a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.csproj +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - netstandard2.0 - WY.NewJit - - - - D:\~LYF\~源码\新版JIT或JIS系统\src\Modules\新版JIT或JIS系统服务端\src\WY.NewJit.Application.Contracts\WY.NewJit.Application.Contracts.xml - 0 - - - - D:\~LYF\~源码\新版JIT或JIS系统\src\Modules\新版JIT或JIS系统服务端\src\WY.NewJit.Application.Contracts\WY.NewJit.Application.Contracts.xml - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml deleted file mode 100644 index a53039c3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application.Contracts/WY.NewJit.Application.Contracts.xml +++ /dev/null @@ -1,2567 +0,0 @@ - - - - WY.NewJit.Application.Contracts - - - - - Erp总成ID - - - - - 零件ID - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 是否Key件 - - - - - ERP总成 - - - - - ERP总成编码 - - - - - ERP总成名称 - - - - - ERP总成版本 - - - - - 车型 - - - - - 总成和零件关系表 - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - 是否Key件 - - - - - 整车总成ID - - - - - 零件ID - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 是否Key件 - - - - - ERP总成编码 - - - - - ERP总成名称 - - - - - 车型 - - - - - 是否覆盖上一个版本 - - - - - 上一个版本的ERP总成ID - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - 是否Key件 - - - - - ERP总成编码 - - - - - 总成名称 - - - - - 车型代码 - - - - - 生产线(派格按生产线分类) - - - - - 根据筛选条件获取分页实体列表 - - 主键 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出ERP总成 - - - - - - - 系统初始化时使用,去掉重复的ERP总成 - - - - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 根据整车总成Id取Erp总成列表 - W - 整车总成Id - Erp总成列表 - - - - 通用字典信息DTO - - - - - 字典类别代码 - - - - - 字典项代码 - - - - - 字典项名称 - - - - - - 车型代码 - - - - - 客户零件号 - - - - - 排除原因 - - - - - 零件查询结果DTO - - - - - 车型代码 - - - - - 客户零件号 - - - - - 排除原因 - - - - - 车型名称 - - - - - 客户零件名称 - - - - - 车型代码 - - - - - 客户零件号 - - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常) - - - - - 日志标题 - - - - - 日志描述 - - - - - 严重程度(1 轻微 2 一般、3 严重) - - - - - 日志状态 - - - - - 零件查询结果DTO - - - - - 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常) - - - - - 日志标题 - - - - - 日志描述 - - - - - 严重程度(1 轻微 2 一般、3 严重) - - - - - 日志状态 - - - - - 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常) - - - - - 日志标题 - - - - - 严重程度(1 轻微 2 一般、3 严重) - - - - - 日志状态 0 1 2 - - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 执行处理 - - 主键 - 执行成功返回真 - - - - 执行忽略 - - 主键 - 执行成功返回真 - - - - 零件编码 - - - - - 零件名称 - - - - - 零件类型(取通用字典) - - - - - 零件子类型(取通用字典) - - - - - 描述 - - - - - 门板代号 - - - - - SAP物料号 - - - - - 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - - - - - 大小量纲(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - - - - - 零件查询结果DTO - - - - - 零件编码 - - - - - 零件名称 - - - - - 零件类型(取通用字典) - - - - - 零件子类型(取通用字典) - - - - - 描述 - - - - - 门板代号 - - - - - SAP物料号 - - - - - 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - - - - - 大小量纲(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - - - - - 零件编码 - - - - - 零件名称 - - - - - 零件类型(取通用字典) - - - - - 零件子类型(取通用字典) - - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 零件编码 - - - - - 切换为零件编码 - - - - - 生效开始时间 - - - - - 生效结束时间 - - - - - 零件查询结果DTO - - - - - 零件编码 - - - - - 零件名称 - - - - - 切换为零件编码 - - - - - 切换为零件名称 - - - - - 生效开始时间 - - - - - 生效结束时间 - - - - - 零件编码 - - - - - 零件名称 - - - - - 切换为零件编码 - - - - - 切换为零件名称 - - - - - 是否有效 - - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 零件查询结果DTO - - - - - 流水号# - - - - - 大众顺序号 - - - - - KNR - - - - - 底牌号# - - - - - 总成ID - - - - - 上线时间 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 接收时间 - - - - - 单据状态(0 空;1 未匹配;2 已匹配;3 已发布;-1 预批量) - - - - - 描述 - - - - - 涂装重复单据包含的零件列表 - - - - - 手工操作类型:0 none,1 手工添加,2 手工修改 - - - - - 手工操作员 - - - - - 手工操作日期 - - - - - 零件查询结果DTO - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - 流水号# - - - - - 大众顺序号 - - - - - KNR - - - - - 底牌号# - - - - - 总成ID - - - - - 上线时间 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 接收时间 - - - - - 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - - - - - 描述 - - - - - 涂装重复单据包含的零件列表 - - - - - 手工操作类型:0 none,1 手工添加,2 手工修改 - - - - - 手工操作员 - - - - - 手工操作日期 - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - 流水号起 - - - - - 流水号止 - - - - - 大众顺序号起 - - - - - 大众顺序号止 - - - - - KNR起 - - - - - KNR止 - - - - - 底牌号起 - - - - - 底牌号止 - - - - - 总成ID - - - - - 上线时间起 - - - - - 上线时间止 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 接收时间起 - - - - - 接收时间止 - - - - - 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - - - - - 是否单据维护 - - - - - 零件查询结果DTO - - - - - 流水号# - - - - - 大众顺序号 - - - - - KNR - - - - - 底牌号# - - - - - 总成ID - - - - - 上线时间 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 接收时间 - - - - - 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】 - - - - - 描述 - - - - - 总成名称 - - - - - 车型名称(取通用字典) - - - - - R100总成名称 - - - - - R100上线时间 - - - - - 打印时间 - - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 打印门板 - - - 执行成功返回真 - - - - 打印柱护板 - - - 执行成功返回真 - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 根据KNR取ERP总成列表 - - - - - - - 零件查询结果DTO - - - - - 大众顺序号 - - - - - KNR - - - - - 总成ID - - - - - 上线时间 - - - - - 接收时间 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - - - - - 描述 - - - - - 焊装重复单据包含的零件列表 - - - - - 零件查询结果DTO - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - 大众顺序号 - - - - - KNR - - - - - 总成ID - - - - - 上线时间 - - - - - 接收时间 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - - - - - 描述 - - - - - 焊装重复单据包含的零件列表 - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - 大众顺序号起 - - - - - 大众顺序号止 - - - - - KNR起 - - - - - KNR止 - - - - - 总成ID - - - - - 上线时间起 - - - - - 上线时间止 - - - - - 接收时间起 - - - - - 接收时间止 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - - - - - 零件查询结果DTO - - - - - KNR - - - - - 一个或多个ERP总成编码(逗号分隔) - - - - - 一个或多个ERP总成名称(逗号分隔) - - - - - ERP总成数量 - - - - - 大众顺序号 - - - - - 上线时间 - - - - - 接收时间 - - - - - 生产线(派格按生产线分类) - - - - - 车型代码(取通用字典) - - - - - 版本 - - - - - 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】 - - - - - 描述 - - - - - 总成名称 - - - - - 车型名称(取通用字典) - - - - - 总成ID - - - - - 打印时间 - - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导出包含ERP总成编码的信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 流水号起 - - - - - 流水号止 - - - - - 大众顺序号起 - - - - - 大众顺序号止 - - - - - KNR起 - - - - - KNR止 - - - - - 底牌号起 - - - - - 底牌号止 - - - - - 总成ID - - - - - 上线时间起 - - - - - 上线时间止 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 接收时间起 - - - - - 接收时间止 - - - - - 单据状态(0 空;1 未匹配;2 已匹配;3 已发布) - - - - - 是否单据维护 - - - - - 有焊装无总装 - - - - - 有焊装有总装 - - - - - 零件查询结果DTO - - - - - 大众顺序号 - - - - - KNR - - - - - R100单据状态 - - - - - R100上线时间 - - - - - R100接收时间 - - - - - 车型代码(取通用字典) - - - - - 版本 - - - - - 流水号# - - - - - 底牌号# - - - - - M100上线时间 - - - - - M100接收时间 - - - - - M100单据状态【0 空;1 未匹配;2 已匹配;3 已发布】 - - - - - R100一个或多个ERP总成编码(逗号分隔) - - - - - R100一个或多个ERP总成名称(逗号分隔) - - - - - 涂装重复单据 - - - - - 报文接收ID,对应报文接收表主键 - - - - - 流水号# - - - - - 大众顺序号 - - - - - KNR - - - - - 底牌号# - - - - - 总成ID - - - - - 上线时间 - - - - - 接收时间 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】 - - - - - 描述 - - - - - 涂装重复单据包含的零件列表 - - - - - 涂装重复单据和零件关系表 - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - 大众顺序号起 - - - - - 大众顺序号止 - - - - - KNR起 - - - - - KNR止 - - - - - 底牌号起 - - - - - 底牌号止 - - - - - 上线时间起 - - - - - 上线时间止 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 接收时间起 - - - - - 接收时间止 - - - - - 零件查询结果DTO - - - - - 流水号# - - - - - 大众顺序号 - - - - - KNR - - - - - 底牌号# - - - - - 总成ID - - - - - 上线时间 - - - - - 接收时间 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】 - - - - - 描述 - - - - - 涂装重复单据包含的零件列表 - - - - - 总成名称 - - - - - 车型名称(取通用字典) - - - - - 零件查询结果DTO - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 大众顺序号起 - - - - - 大众顺序号止 - - - - - KNR起 - - - - - KNR止 - - - - - 上线时间起 - - - - - 上线时间止 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 接收时间起 - - - - - 接收时间止 - - - - - 零件查询结果DTO - - - - - 大众顺序号 - - - - - KNR - - - - - 总成ID - - - - - 上线时间 - - - - - 接收时间 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】 - - - - - 描述 - - - - - 涂装重复单据包含的零件列表 - - - - - 总成名称 - - - - - 车型名称(取通用字典) - - - - - 零件查询结果DTO - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - 单据ID - - - - - 扫描点:R100 M100 - - - - - 单据ID - - - - - 扫描点:R100 M100 - - - - - 扫描点:R100 M100 - - - - - 大众顺序号起 - - - - - 大众顺序号止 - - - - - KNR起 - - - - - KNR止 - - - - - 底牌号起 - - - - - 底牌号止 - - - - - 总成ID - - - - - 上线时间起 - - - - - 上线时间止 - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 版本 - - - - - 零件查询结果DTO - - - - - 大众顺序号 - - - - - KNR - - - - - 底牌号# - - - - - 车型代码(取通用字典) - - - - - 生产线(派格按生产线分类) - - - - - 车型名称(取通用字典) - - - - - 扫描点 - - - - - 上线时间 - - - - - 版本 - - - - - 总成名称 - - - - - 客户零件数量 - - - - - 文件名 - - - - - 是否选中全部 - - - - - 部分选中列表 - - - - - 零件查询结果DTO - - - - - 单据ID - - - - - 扫描点:R100 M100 - - - - - 客户零件数量 - - - - - 描述 - - - - - 未知总成包含的零件列表 - - - - - 零件查询结果DTO - - - - - 客户零件代码 - - - - - 客户零件数量 - - - - - 描述 - - - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 添加总成:根据未知总成中的结算件生成新的总成【客户端自己构造】 - - 总成、分总成、零件三级关系实体 - 执行成功返回真 - - - - 重新解析 - - 总成、分总成、零件三级关系实体 - 执行成功返回真 - - - - 系统初始化时使用,批量解析 - - - - - - - 根据vin从天合mes系统中取erp总成编码列表 - - - - - - - 报文转换 - - - - - - 读取记录数 - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/Books/BookAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/Books/BookAppService.cs deleted file mode 100644 index 11f249e2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/Books/BookAppService.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using WY.NewJit.Books; - -namespace Acme.BookStore.Books -{ - /// - /// BookAppService使用IObjectMapper将Book对象转换为BookDto对象, 将CreateUpdateBookDto对象转换为Book对象 - /// - public class BookAppService : - CrudAppService< - Book, //The Book entity - BookDto, //Used to show books - Guid, //Primary key of the book entity - PagedAndSortedResultRequestDto, //Used for paging/sorting - CreateUpdateBookDto>, //Used to create/update a book - IBookAppService //implement the IBookAppService - { - public BookAppService(IRepository repository) - : base(repository) - { - - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgErpAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgErpAppService.cs deleted file mode 100644 index b589f59a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgErpAppService.cs +++ /dev/null @@ -1,461 +0,0 @@ -using System; -using System.Collections.Generic; -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.Common; -using WY.NewJit.EntityFrameworkCore; -using Shouldly; -using Volo.Abp.BlobStoring; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 总成配置应用服务实现 - /// - [Route("api/newjit/assembly-cfg-erp")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] - public class AssemblyCfgErpAppService : ApplicationService, IAssemblyCfgErpAppService - { - /// - /// ERP总成仓储 - /// - private readonly IRepository _assemblyCfgErpRepository; - - /// - /// 结算件仓储 - /// - private readonly IRepository _assemblyCfgPartRepos; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 总成领域服务 - /// - private readonly AssemblyDomainService _assemblyDomainService; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public AssemblyCfgErpAppService( - IRepository assemblyCfgErpRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IRepository assemblyCfgPartRepos, - IBlobContainer blobContainer, - AssemblyDomainService assemblyDomainService - ) - { - _assemblyCfgErpRepository = assemblyCfgErpRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _assemblyCfgPartRepos = assemblyCfgPartRepos; - _blobContainer = blobContainer; - _assemblyDomainService = assemblyDomainService; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - private async Task> QueryByConditionAsync(QueryAssemblyCfgErpDto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" -select * from -( - select count(*) as cnt - from FisAssemblyCfgErp a - where IsDeleted <> 1 and PreviousVersionId is null {0} -) t -"; - - string sql = @" -select * from -( - select ROW_NUMBER() OVER(order by a.[CreationTime]) as row_number, - a.* - from FisAssemblyCfgErp a - where IsDeleted <> 1 and PreviousVersionId is null {0} -) t where row_number between {1} and {2} -"; - string where = ""; - if (!string.IsNullOrEmpty(input.ErpAssemblyName)) - { - where += string.Format(" and a.ErpAssemblyName like '%{0}%'", input.ErpAssemblyName); - } - if (!string.IsNullOrEmpty(input.ErpAssemblyCode)) - { - where += string.Format(" and a.ErpAssemblyCode like '%{0}%'", input.ErpAssemblyCode); - } - if (!string.IsNullOrEmpty(input.VehicleModelCode)) - { - where += string.Format(" and a.VehicleModel = '{0}'", input.VehicleModelCode); - } - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - - /// - /// 两个集合比较 - /// - /// - /// - /// - private bool CompareTwoCollection(List sourceLst, List targetLst) - { - if (sourceLst == null || targetLst == null || sourceLst.Count == 0 || targetLst.Count == 0) - { - return false; - } - if (sourceLst.Count != targetLst.Count) - { - return false; - } - //将目标对象转换成和源对象一样的类型 AssemblyCfgErp2PartDto to BillM100Part - var srcOrdLst = sourceLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - var tarOrdLst = targetLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - - bool isEqual = srcOrdLst.SequenceEqual(tarOrdLst, new AssemblyCfgPartListEquality()); - return isEqual; - } - - #endregion - - - #region 公共方法 - - /// - /// 根据筛选条件获取分页实体列表 - /// - /// - /// - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetErpAssemblyListAsync(QueryAssemblyCfgErpDto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetErpAssemblyListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetErpAssemblyListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// - /// - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetErpAssemblyAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - AssemblyCfgErp sourceObj = await _assemblyCfgErpRepository.GetAsync(id); - AssemblyCfgErpDto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 添加实体 - /// - /// - /// - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreateErpAssemblyAsync(CreateUpdateAssemblyCfgErpDto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - int maxVer = _assemblyCfgErpRepository.Any() ? _assemblyCfgErpRepository.Max(itm => itm.ErpAssemblyVersion) : 0; - - AssemblyCfgErp obj = ObjectMapper.Map(input); - obj.SetErpAssemblyVersion(++maxVer); - foreach (var childObj in obj.Details) - { - childObj.SetId(GuidGenerator.Create()); - } - - AssemblyCfgErp obj2 = await _assemblyCfgErpRepository.InsertAsync(obj); - ret.Item = obj2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 修改实体 - /// - /// - /// - /// - [HttpPut] - [UnitOfWork] - [Route("{id}")]//update/ - public virtual async Task UpdateErpAssemblyAsync(Guid id, CreateUpdateAssemblyCfgErpDto input) - { - _logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - AssemblyCfgErp targetObj = await _assemblyCfgErpRepository.GetAsync(id); - await _assemblyCfgPartRepos.DeleteManyAsync(targetObj.Details); //先删除子实体列表 - ObjectMapper.Map(input, targetObj); - await _assemblyCfgErpRepository.UpdateAsync(targetObj); - await _assemblyCfgPartRepos.InsertManyAsync(targetObj.Details); //再添加子实体列表 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// - /// - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteErpAssemblyAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - foreach (Guid item in idLst) - { - var sourceObj = await _assemblyCfgErpRepository.GetAsync(item); - if (sourceObj != null) - { - await _assemblyCfgPartRepos.DeleteManyAsync(sourceObj.Details); - await _assemblyCfgErpRepository.DeleteAsync(item); - } - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportErpAssemblyAsync(QueryAssemblyCfgErpDto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportErpAssemblyAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List items = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("ERP总成配置_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportErpAssemblyAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 校验ERP总成:是否版本覆盖 - /// - /// - /// - //[UnitOfWork] - //[HttpPost] - //[Route("check")] - //public virtual async Task CheckErpAssembly(CreateUpdateAssemblyCfgErpDto input) - //{ - // _logger.LogDebug(_errorMessagePrefix + "CheckErpAssembly 进入"); - - // ObjectResultDto ret = new ObjectResultDto(); - // if (input.IsCover == true && input.PreviousVersionId != null) - // { - // Guid gu = (Guid)input.PreviousVersionId; - // await _assemblyCfgErpRepository.GetAsync(gu); - // } - // else - // { - // Guid gu = (Guid)input.PreviousVersionId; - // await _assemblyCfgErpRepository.GetAsync(gu); - // } - // _logger.LogDebug(_errorMessagePrefix + "CheckErpAssembly 完成"); - - // return ret; - //} - - /// - /// 系统初始化时使用,去掉重复的ERP总成 - /// - /// - /// - [HttpPost] - [Route("remove-repeat")] - public virtual async Task RemoveRepeatErpAssembly(int takeCount) - { - _logger.LogDebug(_errorMessagePrefix + "RemoveRepeatErpAssembly 进入"); - - ObjectResultDto ret = new ObjectResultDto(); - try - { - await _newJitDapperRepository.ExecuteSqlAsync("update FisAssemblyCfgErp set PreviousVersionId = null", null, true); - - //取Erp总成 - List allLst = await _assemblyCfgErpRepository.GetListAsync(true); - - List ordLst = allLst.OrderByDescending(itm => itm.ErpAssemblyVersion).ToList(); - - foreach (AssemblyCfgErp ordItm in ordLst) - { - var filterLst = allLst.Where(itm => itm.ErpAssemblyVersion < ordItm.ErpAssemblyVersion); - foreach (AssemblyCfgErp filterItm in filterLst) - { - //if (filterItm.PreviousVersionId != null) - //{ - // continue; - //} - bool isSame = CompareTwoCollection(ordItm.Details, filterItm.Details); - if (isSame) - { - await _assemblyDomainService.UpdatePreviousVersionId(filterItm.Id, ordItm.Id); //更新历史数据PreviousVersionId字段 - } - } - } - - _logger.LogDebug(_errorMessagePrefix + "RemoveRepeatErpAssembly 完成"); - - ret.Status = true; - return ret; - - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "RemoveRepeatErpAssembly 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 同步ERP总成(从结算系统)(天合版本) - /// - /// - /// - [HttpPost] - [Route("sync-erp-assembly")] - public virtual void SyncErpAssemblyAsync(int takeRecordCount) - { - _assemblyDomainService.SyncErpAssemblyAsync(takeRecordCount).GetAwaiter().GetResult(); - RemoveRepeatErpAssembly(takeRecordCount).GetAwaiter().GetResult(); - } - - #endregion - - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgPartAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgPartAppService.cs deleted file mode 100644 index f0f574fb..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgPartAppService.cs +++ /dev/null @@ -1,205 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 总成配置应用服务实现 - /// - [Route("api/newjit/assembly-cfg-part")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] - public class AssemblyCfgPartAppService : ApplicationService, IAssemblyCfgPartAppService - { - /// - /// 仓储 - /// - private readonly IRepository _assemblyCfgPartRepository; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public AssemblyCfgPartAppService( - IRepository assemblyCfgPartRepository, - ILogger logger - ) - { - _assemblyCfgPartRepository = assemblyCfgPartRepository; - _logger = logger; - } - - #region 公共方法 - - /// - /// 根据ID获取实体列表 - /// - /// Erp总成Id - /// - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetPartListAsync(Guid erpAssemblyId) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - var query = _assemblyCfgPartRepository.Where(itm => itm.Id != Guid.Empty); - List lst = await query.ToListAsync(); - - List items = - ObjectMapper.Map, List>(lst); - - return new ListResultDto(items); - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new ListResultDto(new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// - /// - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetPartAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - AssemblyCfgPart sourceObj = await _assemblyCfgPartRepository.GetAsync(id); - AssemblyCfgPartDto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 添加实体 - /// - /// - /// - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreatePartAsync(CreateUpdateAssemblyCfgPartDto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - AssemblyCfgPart obj = ObjectMapper.Map(input); - AssemblyCfgPart obj2 = await _assemblyCfgPartRepository.InsertAsync(obj); - ret.Item = obj2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 修改实体 - /// - /// - /// - /// - [HttpPut] - [UnitOfWork] - [Route("{id}")]//update/ - public virtual async Task UpdatePartAsync(Guid id, CreateUpdateAssemblyCfgPartDto input) - { - _logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - AssemblyCfgPart targetObj = await _assemblyCfgPartRepository.GetAsync(id); - ObjectMapper.Map(input, targetObj); - await _assemblyCfgPartRepository.UpdateAsync(targetObj); - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// - /// - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeletePartAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - await _assemblyCfgPartRepository.DeleteManyAsync(idLst, true); - - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgVehicleAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgVehicleAppService.cs deleted file mode 100644 index 71dbb37c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/AssemblyCfgs/AssemblyCfgVehicleAppService.cs +++ /dev/null @@ -1,141 +0,0 @@ -using System; -using System.Collections.Generic; -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.Common; -using WY.NewJit.EntityFrameworkCore; -using Shouldly; -using Volo.Abp.BlobStoring; - -namespace WY.NewJit.MsgBaseData.AssemblyCfgs -{ - /// - /// 总成配置应用服务实现 - /// - [Route("api/newjit/assembly-cfg-vehicle")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] - public class AssemblyCfgVehicleAppService : ApplicationService, IAssemblyCfgVehicleAppService - { - /// - /// ERP总成仓储 - /// - private readonly IRepository _assemblyCfgErpRepository; - - /// - /// 结算件仓储 - /// - private readonly IRepository _assemblyCfgPartRepos; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 整车总成配置仓库 - /// - private readonly IRepository _assemblyCfgVehicleRepository; - - /// - /// Erp总成应用服务 - /// - private readonly AssemblyCfgErpAppService _assemblyCfgErpAppService; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public AssemblyCfgVehicleAppService( - IRepository assemblyCfgProductRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IRepository assemblyCfgPartRepos, - IBlobContainer blobContainer, - IRepository assemblyCfgVehicleRepository, - AssemblyCfgErpAppService assemblyCfgErpAppService - ) - { - _assemblyCfgErpRepository = assemblyCfgProductRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _assemblyCfgPartRepos = assemblyCfgPartRepos; - _blobContainer = blobContainer; - _assemblyCfgVehicleRepository = assemblyCfgVehicleRepository; - _assemblyCfgErpAppService = assemblyCfgErpAppService; - } - - #region 公共方法 - - /// - /// 根据Id获取实体列表 - /// - /// 整车总成ID - /// Erp总成实体列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetErpAssemblyListAsync(Guid vehicleAssemblyId) - { - _logger.LogDebug(_errorMessagePrefix + "GetErpAssemblyListAsync 进入"); - List ret = new List(); - try - { - AssemblyCfgVehicle vobj = await _assemblyCfgVehicleRepository.GetAsync(vehicleAssemblyId); - if (vobj != null && vobj.AssemblyCfgVehicleChilds != null && vobj.AssemblyCfgVehicleChilds.Count > 0) - { - List vehicleChildLst = vobj.AssemblyCfgVehicleChilds; - - foreach (AssemblyCfgVehicleChild vehicleChildItem in vehicleChildLst) - { - ObjectResultDto erpAssemblyObj = await _assemblyCfgErpAppService.GetErpAssemblyAsync(vehicleChildItem.ErpAssemblyId); - ret.Add(erpAssemblyObj.Item); - } - return ret; - } - else - { - return new List(); - } - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetErpAssemblyListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new List(); - } - } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/Dics/DicAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/Dics/DicAppService.cs deleted file mode 100644 index b7a8fce0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/Dics/DicAppService.cs +++ /dev/null @@ -1,95 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 通用字典应用服务实现 - /// - [Route("api/newjit/dic")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] - public class DicAppService : ApplicationService, IDicAppService - { - /// - /// 字典领域服务 - /// - private readonly DicDomainService _dicDomainService; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public DicAppService( - DicDomainService dicDomainService, - ILogger logger - ) - { - _dicDomainService = dicDomainService; - _logger = logger; - } - - - #region 公共方法 - - /// - /// 根据字典类型名称取通用字典信息列表 - /// - /// 字典类型名称 - /// 返回符合条件字典信息列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetDicListAsync(string dicTypeName) - { - _logger.LogDebug(_errorMessagePrefix + "GetDicListAsync 进入"); - try - { - List lst = _dicDomainService.GetDicItems(dicTypeName); - - List items = - ObjectMapper.Map, List>(lst); - - return new ListResultDto(items); - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetDicListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new ListResultDto(new List()); - } - } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/ExcludePartCfgs/ExcludePartCfgAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/ExcludePartCfgs/ExcludePartCfgAppService.cs deleted file mode 100644 index 9c6130a2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/ExcludePartCfgs/ExcludePartCfgAppService.cs +++ /dev/null @@ -1,370 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.AspNetCore.Mvc; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 排除零件配置服务实现 - /// - [Route("api/newjit/exclude-part-cfg")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] - public class ExcludePartCfgAppService : ApplicationService, IExcludePartCfgAppService - { - /// - /// 仓储 - /// - private readonly IRepository _excludePartCfgRepository; - - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 通用字典领域服务 - /// - private DicDomainService _dicDomainSrv; - - /// - /// 零件仓储 - /// - private readonly IRepository _partCfgRepository; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public ExcludePartCfgAppService( - IRepository excludePartCfgRepository, - ILogger logger, - DicDomainService dicDomainSrv, - IRepository partCfgRepository, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer - ) - { - _excludePartCfgRepository = excludePartCfgRepository; - _logger = logger; - _dicDomainSrv = dicDomainSrv; - _partCfgRepository = partCfgRepository; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - private async Task> QueryByConditionAsync(QueryExcludePartCfgDto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select * from -( - select count(*) as cnt - from FisExcludePartCfg e - left join d on e.VehicleModelCode = d.DicItemCode - left join FisPartCfg p on e.PartCode = p.PartCode - where e.IsDeleted <> 1 {0} -) t -"; - string sql = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select * from -( - select ROW_NUMBER() OVER({3}) as row_number, - e.*, d.DicItemName as VehicleModelName, p.PartName - from FisExcludePartCfg e - left join d on e.VehicleModelCode = d.DicItemCode - left join FisPartCfg p on e.PartCode = p.PartCode - where e.IsDeleted <> 1 {0} -) t where row_number between {1} and {2} -"; - string where = ""; - if (!string.IsNullOrEmpty(input.VehicleModelCode)) - { - where += string.Format(" and VehicleModelCode like '%{0}%'", input.VehicleModelCode); - } - if (!string.IsNullOrEmpty(input.PartCode)) - { - where += string.Format(" and e.PartCode like '%{0}%'", input.PartCode); - } - #region 排序 - string order = "order by e.VehicleModelCode, e.PartCode"; - if (string.IsNullOrEmpty(page.Sorting) == false) - { - string[] arr = page.Sorting.Split(" "); - if (arr.Length == 2) - { - string sortField = ""; - string sortType = ""; - if (arr[0].EquaIgnoreCase("PartCode")) - { - sortField = "e." + arr[0]; - } - else - { - sortField = arr[0]; - } - if (arr[1] == "ascending") - { - sortType = "asc"; - } - else if (arr[1] == "descending") - { - sortType = "desc"; - } - order = $"order by {sortField} {sortType}"; - } - } - #endregion - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec, order); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - #endregion - - #region 公共方法 - - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryExcludePartCfgDto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - ExcludePartCfg sourceObj = await _excludePartCfgRepository.GetAsync(id); - ExcludePartCfgDto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreateAsync(CreateUpdateExcludePartCfgDto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - ExcludePartCfg obj = ObjectMapper.Map(input); - ExcludePartCfg obj2 = await _excludePartCfgRepository.InsertAsync(obj); - ret.Item = obj2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - [HttpPut] - [UnitOfWork] - [Route("{id}")]//update/ - public virtual async Task UpdateAsync(Guid id, CreateUpdateExcludePartCfgDto input) - { - _logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - ExcludePartCfg targetObj = await _excludePartCfgRepository.GetAsync(id); - ObjectMapper.Map(input, targetObj); - await _excludePartCfgRepository.UpdateAsync(targetObj); - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - await _excludePartCfgRepository.DeleteManyAsync(idLst, true); - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryExcludePartCfgDto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List items = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("排除零件配置_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/LogReminds/LogRemindAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/LogReminds/LogRemindAppService.cs deleted file mode 100644 index cf8dba8d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/LogReminds/LogRemindAppService.cs +++ /dev/null @@ -1,376 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; -using Microsoft.AspNetCore.Mvc; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 日志提醒应用服务实现 - /// - [Route("api/newjit/log-remind")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] - public class LogRemindAppService : ApplicationService, ILogRemindAppService - { - /// - /// 仓储 - /// - private readonly IRepository _logRemindRepository; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public LogRemindAppService( - IRepository logRemindRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer - ) - { - _logRemindRepository = logRemindRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - /// - /// - private IQueryable QueryByCondition(QueryLogRemindDto input) - { - StringBuilder strBuild = new StringBuilder("1=1"); - if (input.LogType != LogTypeEnum.None) - { - strBuild.AppendFormat(" and LogType = {0}", ((int)input.LogType).ToString()); - } - if (!string.IsNullOrEmpty(input.LogTitle)) - { - strBuild.AppendFormat(" and LogTitle.Contains(\"{0}\")", input.LogTitle); - } - if (input.SeriousLevel != SeriousLevelEnum.None) - { - strBuild.AppendFormat(" and SeriousLevel = {0}", ((int)input.SeriousLevel).ToString()); - } - var qry1 = _logRemindRepository.Where(strBuild.ToString()); - if (input.LogStatus != LogStatusEnum.None) - { - qry1 = qry1.Where(itm => itm.LogStatus == input.LogStatus); - } - return qry1; - } - #endregion - - #region 公共方法 - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryLogRemindDto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - var page = (PagedAndSortedBase)input; - try - { - IQueryable qry1 = QueryByCondition(input); - if (string.IsNullOrEmpty(page.Sorting)) - { - page.Sorting = "CreationTime"; - } - if (qry1.Count() == 0) - { - return new PagedResultDto(0, new List()); - } - var query = qry1 - .OrderBy(page.Sorting) - .Skip(page.SkipCount) - .Take(page.MaxResultCount); - - int totalCount = await query.CountAsync(); - List lst = await query.ToListAsync(); - - List items = - ObjectMapper.Map, List>(lst); - - return new PagedResultDto(totalCount, items); - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - LogRemind sourceObj = await _logRemindRepository.GetAsync(id); - LogRemindDto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreateAsync(CreateUpdateLogRemindDto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - LogRemind obj = ObjectMapper.Map(input); - LogRemind obj2 = await _logRemindRepository.InsertAsync(obj); - ret.Item = obj2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - [HttpPut] - [UnitOfWork] - [Route("{id}")]//update/ - public virtual async Task UpdateAsync(Guid id, CreateUpdateLogRemindDto input) - { - _logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - LogRemind targetObj = await _logRemindRepository.GetAsync(id); - ObjectMapper.Map(input, targetObj); - await _logRemindRepository.UpdateAsync(targetObj); - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - await _logRemindRepository.DeleteManyAsync(idLst, true); - - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryLogRemindDto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - IQueryable query = QueryByCondition(input); - List lst = await query.ToListAsync(); - List items = - ObjectMapper.Map, List>(lst); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("日志提醒_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - - /// - /// 执行处理 - /// - /// 主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("do-process")] - public virtual async Task DoProcessAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "DoProcessAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - LogRemind obj = await _logRemindRepository.GetAsync(id); - obj.LogStatus = LogStatusEnum.Process; - await _logRemindRepository.UpdateAsync(obj); - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DoProcessAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 执行忽略 - /// - /// 主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("do-ignore")] - public virtual async Task DoIgnoreAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "DoIgnoreAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - LogRemind obj = await _logRemindRepository.GetAsync(id); - obj.LogStatus = LogStatusEnum.Ignore; - await _logRemindRepository.UpdateAsync(obj); - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DoIgnoreAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/PartCfgs/PartCfgAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/PartCfgs/PartCfgAppService.cs deleted file mode 100644 index f4d1a15d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/PartCfgs/PartCfgAppService.cs +++ /dev/null @@ -1,318 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 零件管理应用服务实现 - /// - [Route("api/newjit/part-cfg")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] - public class PartCfgAppService : ApplicationService, IPartCfgAppService - { - /// - /// 仓储 - /// - private readonly IRepository _partCfgRepository; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public PartCfgAppService( - IRepository partCfgRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer - ) - { - _partCfgRepository = partCfgRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - /// - /// - private IQueryable QueryByCondition(QueryPartCfgDto input) - { - IQueryable ret = _partCfgRepository.Where(itm => 1 == 1); - if (!string.IsNullOrEmpty(input.PartCode)) - { - ret = ret.Where(itm => itm.PartCode.Contains(input.PartCode)); - } - if (!string.IsNullOrEmpty(input.PartName)) - { - ret = ret.Where(itm => itm.PartName.Contains(input.PartName)); - } - if (!string.IsNullOrEmpty(input.PartType)) - { - ret = ret.Where(itm => itm.PartType == input.PartType); - } - if (!string.IsNullOrEmpty(input.PartChildType)) - { - ret = ret.Where(itm => itm.PartChildType == input.PartChildType); - } - return ret; - } - #endregion - - #region 公共方法 - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryPartCfgDto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - var page = (PagedAndSortedBase)input; - IQueryable qry1 = QueryByCondition(input); - if (string.IsNullOrEmpty(page.Sorting)) - { - page.Sorting = "PartCode"; - } - if (qry1.Count() == 0) - { - return new PagedResultDto(0, new List()); - } - var query = qry1 - .OrderBy(page.Sorting) - .Skip(page.SkipCount) - .Take(page.MaxResultCount); - - int totalCount = await qry1.CountAsync(); //返回总记录数而不是当前页记录数 - List lst = await query.ToListAsync(); - - List items = - ObjectMapper.Map, List>(lst); - - return new PagedResultDto(totalCount, items); - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - PartCfg sourceObj = await _partCfgRepository.GetAsync(id); - PartCfgDto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreateAsync(CreateUpdatePartCfgDto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - PartCfg obj = ObjectMapper.Map(input); - PartCfg obj2 = await _partCfgRepository.InsertAsync(obj); - ret.Item = obj2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - [HttpPut] - [UnitOfWork] - [Route("{id}")]//update/ - public virtual async Task UpdateAsync(Guid id, CreateUpdatePartCfgDto input) - { - _logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - PartCfg targetObj = await _partCfgRepository.GetAsync(id); - ObjectMapper.Map(input, targetObj); - await _partCfgRepository.UpdateAsync(targetObj); - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - await _partCfgRepository.DeleteManyAsync(idLst, true); - - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryPartCfgDto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - IQueryable query = QueryByCondition(input); - List lst = await query.ToListAsync(); - List items = - ObjectMapper.Map, List>(lst); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("零件配置_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/PartSwitchs/PartSwitchAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/PartSwitchs/PartSwitchAppService.cs deleted file mode 100644 index 4a6dcb29..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgBaseData/PartSwitchs/PartSwitchAppService.cs +++ /dev/null @@ -1,342 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 零件切换应用服务实现 - /// - [Route("api/newjit/part-switch")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] - public class PartSwitchAppService : ApplicationService, IPartSwitchAppService - { - /// - /// 仓储 - /// - private readonly IRepository _partCfgRepository; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public PartSwitchAppService( - IRepository partCfgRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer - ) - { - _partCfgRepository = partCfgRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - /// - /// - private async Task> QueryByConditionAsync(QueryPartSwitchDto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" -select * from -( - select count(*) as cnt - from PartSwitch a - left join PartCfg c1 on a.SourcePartCode = c1.PartCode - left join PartCfg c2 on a.TargetPartCode = c2.PartCode - where IsDeleted <> 1 {0} -) t -"; - - string sql = @" -select * from -( - select ROW_NUMBER() OVER(order by a.[CreationTime]) as row_number, - a.*, c1.PartName as SourcePartName, c2.PartName as TargetPartName - from PartSwitch a - left join PartCfg c1 on a.SourcePartCode = c1.PartCode - left join PartCfg c2 on a.TargetPartCode = c2.PartCode - where IsDeleted <> 1 {0} -) t where row_number between {1} and {2} -"; - string where = ""; - if (!string.IsNullOrEmpty(input.SourcePartCode)) - { - where += string.Format(" and a.SourcePartCode like '%{0}%'", input.SourcePartCode); - } - if (!string.IsNullOrEmpty(input.SourcePartName)) - { - where += string.Format(" and c1.SourcePartName like '%{0}%'", input.SourcePartName); - } - if (!string.IsNullOrEmpty(input.TargetPartCode)) - { - where += string.Format(" and a.TargetPartCode like '%{0}%'", input.TargetPartCode); - } - if (!string.IsNullOrEmpty(input.TargetPartName)) - { - where += string.Format(" and c2.TargetPartName like '%{0}%'", input.TargetPartName); - } - if (input.IsValid != null) - { - if (input.IsValid == true) - { - //有效//?? - } - else - { - //无效 - } - } - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - #endregion - - #region 公共方法 - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryPartSwitchDto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetErpAssemblyListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - PartSwitch sourceObj = await _partCfgRepository.GetAsync(id); - PartSwitchDto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreateAsync(CreateUpdatePartSwitchDto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - PartSwitch obj = ObjectMapper.Map(input); - PartSwitch obj2 = await _partCfgRepository.InsertAsync(obj); - ret.Item = obj2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - [HttpPut] - [UnitOfWork] - [Route("{id}")]//update/ - public virtual async Task UpdateAsync(Guid id, CreateUpdatePartSwitchDto input) - { - _logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - PartSwitch targetObj = await _partCfgRepository.GetAsync(id); - ObjectMapper.Map(input, targetObj); - await _partCfgRepository.UpdateAsync(targetObj); - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - await _partCfgRepository.DeleteManyAsync(idLst, true); - - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryPartSwitchDto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List lst = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(lst); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("零件切换_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs deleted file mode 100644 index dcddaf59..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/BillM100AppService.cs +++ /dev/null @@ -1,480 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; -using Microsoft.AspNetCore.Mvc; - -namespace WY.NewJit.MsgCheck -{ - /// - /// M100单据管理应用服务实现 - /// - [Route("api/newjit/bill-m100")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文解析及校验)] - public class BillM100AppService : ApplicationService, IBillM100AppService - { - /// - /// 仓储 - /// - private readonly IRepository _billM100Repository; - - private readonly IRepository _billM100PartRepository; - - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public BillM100AppService( - IRepository BillM100Repository, - IRepository BillM100PartRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer - ) - { - _billM100Repository = BillM100Repository; - _billM100PartRepository = BillM100PartRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - private async Task> QueryByConditionAsync(QueryBillM100Dto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -, r as -( - select rr.KNR, aa.AssemblyName, rr.OnlineTime from FisBillR100 rr left join FisAssemblyCfgVehicle aa on rr.AssemblyID = aa.Id -) -select * from -( - select count(*) as cnt - from FisBillM100 b - left join d on b.VehicleModelCode = d.DicItemCode - left join FisAssemblyCfgVehicle a on b.AssemblyID = a.Id - left join r on b.KNR = r.KNR - where 1=1 {0} -) t -"; - - string sql = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -, r as -( - select rr.KNR, aa.AssemblyName, rr.OnlineTime from FisBillR100 rr left join FisAssemblyCfgVehicle aa on rr.AssemblyID = aa.Id -) -select * from -( - select ROW_NUMBER() OVER(order by b.SerialNum, b.HostSN) as row_number, - b.*, d.DicItemName as VehicleModelName, a.AssemblyName, r.AssemblyName as R100AssemblyName, r.OnlineTime as R100OnlineTime - from FisBillM100 b - left join d on b.VehicleModelCode = d.DicItemCode - left join FisAssemblyCfgVehicle a on b.AssemblyID = a.Id - left join r on b.KNR = r.KNR - where 1=1 {0} -) t where row_number between {1} and {2} -"; - string where = ""; - //if (!string.IsNullOrEmpty(input.VehicleModelCode)) - //{ - // where += string.Format(" and d.DicItemName = '{0}'", input.VehicleModelCode); - //} - if (input.SerialNumBegin != null) - { - where += string.Format(" and b.SerialNum >= {0}", input.SerialNumBegin); - } - if (input.SerialNumEnd != null) - { - where += string.Format(" and b.SerialNum <= {0}", input.SerialNumEnd); - } - if (input.HostSNBegin != null) - { - where += string.Format(" and b.HostSN >= {0}", input.HostSNBegin); - } - if (input.HostSNEnd != null) - { - where += string.Format(" and b.HostSN <= {0}", input.HostSNEnd); - } - if (!string.IsNullOrEmpty(input.KNRBegin)) - { - where += string.Format(" and b.KNR >= '{0}'", input.KNRBegin); - } - if (!string.IsNullOrEmpty(input.KNREnd)) - { - where += string.Format(" and b.KNR <= '{0}'", input.KNREnd); - } - if (!string.IsNullOrEmpty(input.VINBegin)) - { - where += string.Format(" and b.VIN >= '{0}'", input.VINBegin); - } - if (!string.IsNullOrEmpty(input.VINEnd)) - { - where += string.Format(" and b.VIN <= '{0}'", input.VINEnd); - } - if (input.AssemblyID != null) - { - where += string.Format(" and b.AssemblyID = '{0}'", input.AssemblyID.ToString()); - } - if (input.OnlineTimeBegin != null) - { - where += string.Format(" and b.OnlineTime >= '{0}'", ((DateTime)input.OnlineTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.OnlineTimeEnd != null) - { - where += string.Format(" and b.OnlineTime <= '{0}'", ((DateTime)input.OnlineTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.VehicleModelCode != null) - { - where += string.Format(" and b.VehicleModelCode like '%{0}%'", input.VehicleModelCode); - } - if (input.ProductLine != null) - { - where += string.Format(" and b.ProductLine = '{0}'", input.ProductLine); - } - if (input.Version != null) - { - where += string.Format(" and b.Version like '%{0}%'", input.Version); - } - if (input.ReceiveTimeBegin != null) - { - where += string.Format(" and b.ReceiveTime >= '{0}'", ((DateTime)input.ReceiveTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.ReceiveTimeEnd != null) - { - where += string.Format(" and b.ReceiveTime <= '{0}'", ((DateTime)input.ReceiveTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.BillStatus != null && input.BillStatus != BillStatusEnum.None) - { - where += string.Format(" and b.BillStatus = {0}", ((int)input.BillStatus).ToString()); - } - where += " and b.BillStatus in (2,3)"; //单据状态是已生效、已发布 - if (input.IsBillMaintenance == true) //M100单据信息维护模块使用 - { - where += " and b.Operator is not null"; - } - - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - #endregion - - #region 公共方法 - - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryBillM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - BillM100 sourceObj = await _billM100Repository.GetAsync(id); - BillM100Dto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreateAsync(CreateUpdateBillM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - //取M100单据 最大流水号 - int billMaxSN = _billM100Repository.Max(itm => itm.SerialNum) ?? 0; - - BillM100 obj = ObjectMapper.Map(input); - #region 主子表主键Id赋值 - foreach (var item in obj.BillM100Parts) - { - item.SetId(GuidGenerator.Create()); - } - #endregion - obj.SetSerialNum(++billMaxSN); - BillM100 obj2 = await _billM100Repository.InsertAsync(obj); - ret.Item = obj2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - [HttpPut] - [UnitOfWork] - [Route("{id}")]//update/ - public virtual async Task UpdateAsync(Guid id, CreateUpdateBillM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - BillM100 targetObj = await _billM100Repository.GetAsync(id); - await _billM100PartRepository.DeleteManyAsync(targetObj.BillM100Parts); //先删除子实体列表 - ObjectMapper.Map(input, targetObj); - await _billM100Repository.UpdateAsync(targetObj); - await _billM100PartRepository.InsertManyAsync(targetObj.BillM100Parts); //再添加子实体列表 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - foreach (Guid item in idLst) - { - BillM100 sourceObj = await _billM100Repository.GetAsync(item); - if (sourceObj != null) - { - await _billM100PartRepository.DeleteManyAsync(sourceObj.BillM100Parts); - await _billM100Repository.DeleteAsync(item); - } - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryBillM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List items = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("单据M100_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - - /// - /// 打印门板 - /// - /// - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("print-menban")] - public virtual async Task PrintMenBan(MenBanPrintInfo input) - { - //??待开发 - /* - * 发货排序单中的“装箱单号”是自增号 - * 装箱单号规则 1开头,11位,自增顺序号 - * 发货排序单:提供重新打印功能;提供针对重新解析后单据的补打功能 - * 排序单默认打印2份 - */ - //先打印门板, 后打印柱护板,打印完成柱护板后,更新“已打印”状态 - return null; - } - - /// - /// 打印柱护板 - /// - /// - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("print-zhuhuban")] - public virtual async Task PrintZhuHuBan(ZhuHuBanPrintInfo input) - { - //??待开发 - //生成打印单号 - //PrintBillNum - //将导出的单据状态更新为“已打印” - string where = " and 1 = 2"; - if (where.Length > 0) - { - string updateSql = "update b set BillStatus = 2, PrintTime = GETDATE() from FisBillM100 b where 1=1"; - updateSql = string.Format(updateSql, where); - await _newJitDapperRepository.ExecuteSqlAsync(updateSql); - } - return null; - } - - - #endregion - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/NewM100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/NewM100AppService.cs deleted file mode 100644 index 563ed5a8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillM100s/NewM100AppService.cs +++ /dev/null @@ -1,633 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.MsgBaseData; - -namespace WY.NewJit.MsgCheck -{ - /// - /// M100单据管理应用服务实现 - /// - [Route("api/newjit/new-m100")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文解析及校验)] - public class NewM100AppService : ApplicationService, INewM100AppService - { - private readonly IRepository _billR100Repos; - - /// - /// 仓储 - /// - private readonly IRepository _billM100Repository; - - private readonly IRepository _billM100PartRepository; - - /// - /// ERP总成仓储 - /// - private readonly IRepository _assemblyCfgErpRepository; - - /// - /// 结算件仓储 - /// - private readonly IRepository _assemblyCfgPartRepos; - - /// - /// 整车总成配置仓库 - /// - private readonly IRepository _assemblyCfgVehicleRepository; - - - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public NewM100AppService( - IRepository BillM100Repository, - IRepository BillM100PartRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer, - IRepository assemblyCfgErpRepository, - IRepository assemblyCfgPartRepos, - IRepository assemblyCfgVehicleRepository, - IRepository billR100Repos - ) - { - _billM100Repository = BillM100Repository; - _billM100PartRepository = BillM100PartRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - _assemblyCfgErpRepository = assemblyCfgErpRepository; - _assemblyCfgPartRepos = assemblyCfgPartRepos; - _assemblyCfgVehicleRepository = assemblyCfgVehicleRepository; - _billR100Repos = billR100Repos; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - private async Task> QueryByConditionAsync(QueryBillM100Dto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -, r as -( - select rr.KNR, aa.AssemblyName, rr.OnlineTime from FisBillR100 rr left join FisAssemblyCfgVehicle aa on rr.AssemblyID = aa.Id -) -select * from -( - select count(*) as cnt - from FisBillM100 b - left join d on b.VehicleModelCode = d.DicItemCode - left join FisAssemblyCfgVehicle a on b.AssemblyID = a.Id - left join r on b.KNR = r.KNR - where 1=1 {0} -) t -"; - - string sql = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -, r as -( - select rr.KNR, aa.AssemblyName, rr.OnlineTime from FisBillR100 rr left join FisAssemblyCfgVehicle aa on rr.AssemblyID = aa.Id -) -select * from -( - select ROW_NUMBER() OVER(order by b.SerialNum, b.HostSN) as row_number, - b.*, d.DicItemName as VehicleModelName, a.AssemblyName, r.AssemblyName as R100AssemblyName, r.OnlineTime as R100OnlineTime - from FisBillM100 b - left join d on b.VehicleModelCode = d.DicItemCode - left join FisAssemblyCfgVehicle a on b.AssemblyID = a.Id - left join r on b.KNR = r.KNR - where 1=1 {0} -) t where row_number between {1} and {2} -"; - string where = ""; - //if (!string.IsNullOrEmpty(input.VehicleModelCode)) - //{ - // where += string.Format(" and d.DicItemName = '{0}'", input.VehicleModelCode); - //} - if (input.SerialNumBegin != null) - { - where += string.Format(" and b.SerialNum >= {0}", input.SerialNumBegin); - } - if (input.SerialNumEnd != null) - { - where += string.Format(" and b.SerialNum <= {0}", input.SerialNumEnd); - } - if (input.HostSNBegin != null) - { - where += string.Format(" and b.HostSN >= {0}", input.HostSNBegin); - } - if (input.HostSNEnd != null) - { - where += string.Format(" and b.HostSN <= {0}", input.HostSNEnd); - } - if (!string.IsNullOrEmpty(input.KNRBegin)) - { - where += string.Format(" and b.KNR >= '{0}'", input.KNRBegin); - } - if (!string.IsNullOrEmpty(input.KNREnd)) - { - where += string.Format(" and b.KNR <= '{0}'", input.KNREnd); - } - if (!string.IsNullOrEmpty(input.VINBegin)) - { - where += string.Format(" and b.VIN >= '{0}'", input.VINBegin); - } - if (!string.IsNullOrEmpty(input.VINEnd)) - { - where += string.Format(" and b.VIN <= '{0}'", input.VINEnd); - } - if (input.AssemblyID != null) - { - where += string.Format(" and b.AssemblyID = '{0}'", input.AssemblyID.ToString()); - } - if (input.OnlineTimeBegin != null) - { - where += string.Format(" and b.OnlineTime >= '{0}'", ((DateTime)input.OnlineTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.OnlineTimeEnd != null) - { - where += string.Format(" and b.OnlineTime <= '{0}'", ((DateTime)input.OnlineTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.VehicleModelCode != null) - { - where += string.Format(" and b.VehicleModelCode like '%{0}%'", input.VehicleModelCode); - } - if (input.ProductLine != null) - { - where += string.Format(" and b.ProductLine = '{0}'", input.ProductLine); - } - if (input.Version != null) - { - where += string.Format(" and b.Version like '%{0}%'", input.Version); - } - if (input.ReceiveTimeBegin != null) - { - where += string.Format(" and b.ReceiveTime >= '{0}'", ((DateTime)input.ReceiveTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.ReceiveTimeEnd != null) - { - where += string.Format(" and b.ReceiveTime <= '{0}'", ((DateTime)input.ReceiveTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.BillStatus != null && input.BillStatus != BillStatusEnum.None) - { - where += string.Format(" and b.BillStatus = {0}", ((int)input.BillStatus).ToString()); - } - where += " and b.BillStatus in (2,3)"; //单据状态是已生效、已发布 - if (input.IsBillMaintenance == true) //M100单据信息维护模块使用 - { - where += " and b.Operator is not null"; - } - - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - - private async Task RemoveRepeatErpAssembly2(AssemblyCfgErp input) - { - _logger.LogDebug(_errorMessagePrefix + "RemoveRepeatErpAssembly2 进入"); - try - { - //取Erp总成 - List allLst = await _assemblyCfgErpRepository.GetListAsync(true); - - List filterLst = allLst.Where(itm => itm.ErpAssemblyVersion < input.ErpAssemblyVersion && itm.PreviousVersionId == null).ToList(); - - foreach (AssemblyCfgErp filterItm in filterLst) - { - bool isSame = CompareTwoCollection(input.Details, filterItm.Details); - if (isSame) - { - filterItm.SetPreviousVersionId(input.Id); - await _assemblyCfgErpRepository.UpdateAsync(filterItm); - } - } - _logger.LogDebug(_errorMessagePrefix + "RemoveRepeatErpAssembly2 完成"); - return; - } - catch (Exception ex) - { - throw new Exception("RemoveRepeatErpAssembly2 执行出错:" + ex); - } - } - - /// - /// 两个集合比较 - /// - /// - /// - /// - private bool CompareTwoCollection(List sourceLst, List targetLst) - { - if (sourceLst == null || targetLst == null || sourceLst.Count == 0 || targetLst.Count == 0) - { - return false; - } - if (sourceLst.Count != targetLst.Count) - { - return false; - } - //将目标对象转换成和源对象一样的类型 AssemblyCfgErp2PartDto to BillM100Part - var srcOrdLst = sourceLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - var tarOrdLst = targetLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - - bool isEqual = srcOrdLst.SequenceEqual(tarOrdLst, new AssemblyCfgPartListEquality()); - return isEqual; - } - - #endregion - - #region 公共方法 - - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryBillM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - BillM100 sourceBill = await _billM100Repository.GetAsync(id); - BillM100Dto targetBill = ObjectMapper.Map(sourceBill); - ret.Item.M100Bill = targetBill; - //取单据包含的ERP总成列表 - AssemblyCfgVehicle vobj = await _assemblyCfgVehicleRepository.GetAsync((Guid)sourceBill.AssemblyID); - if (vobj != null && vobj.AssemblyCfgVehicleChilds != null && vobj.AssemblyCfgVehicleChilds.Count > 0) - { - List vehicleChildLst = vobj.AssemblyCfgVehicleChilds; - foreach (AssemblyCfgVehicleChild vehicleChildItm in vehicleChildLst) - { - AssemblyCfgErp sourceErp = await _assemblyCfgErpRepository.GetAsync(vehicleChildItm.ErpAssemblyId); - AssemblyCfgErpDto targetErp = ObjectMapper.Map(sourceErp); - ret.Item.ErpAssemblyList.Add(targetErp); - } - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreateAsync(CreateUpdateNewM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - #region 添加单据相关ERP总成 - //取最大版本 - int maxVersion = await _assemblyCfgErpRepository.MaxAsync(itm => itm.ErpAssemblyVersion); - //插入Erp总成 - List erpIdLst = new List(); - foreach (CreateUpdateAssemblyCfgErpDto erpItm in input.ErpAssemblyList) - { - AssemblyCfgErp obj = ObjectMapper.Map(erpItm); - obj.SetErpAssemblyVersion(++maxVersion); - - foreach (var childObj in obj.Details) - { - childObj.SetId(GuidGenerator.Create()); - } - //重复总成处理 - await RemoveRepeatErpAssembly2(obj); - - AssemblyCfgErp obj2 = await _assemblyCfgErpRepository.InsertAsync(obj); - erpIdLst.Add(obj2.Id); //返回添加的Erp总成Id列表 - } - //插入整车总成配置表 - AssemblyCfgVehicle vehicleAssemblyCfgObj = new AssemblyCfgVehicle(GuidGenerator.Create(), null, null, null, true); - foreach (Guid erpAssemblyId in erpIdLst) - { - vehicleAssemblyCfgObj.AddChildObj(GuidGenerator.Create(), erpAssemblyId); - } - var vehicleAssemblyResu = await _assemblyCfgVehicleRepository.InsertAsync(vehicleAssemblyCfgObj); - - #endregion - - #region 添加单据 - //取M100单据 最大流水号 - int billMaxSN = _billM100Repository.Max(itm => itm.SerialNum) ?? 0; - - BillM100 bill = ObjectMapper.Map(input.M100Bill); - #region 主子表主键Id赋值 - foreach (var item in bill.BillM100Parts) - { - item.SetId(GuidGenerator.Create()); - } - #endregion - bill.SetSerialNum(++billMaxSN); - bill.AssemblyID = vehicleAssemblyResu.Id; - BillM100 bill2 = await _billM100Repository.InsertAsync(bill); - #endregion - - ret.Item = bill2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - [HttpPut] - [UnitOfWork] - [Route("{id}")]//update/ - public virtual async Task UpdateAsync(Guid id, CreateUpdateNewM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - #region 添加单据相关ERP总成 - //取最大版本 - int maxVersion = await _assemblyCfgErpRepository.MaxAsync(itm => itm.ErpAssemblyVersion); - //插入Erp总成 - List erpIdLst = new List(); - foreach (CreateUpdateAssemblyCfgErpDto erpItm in input.ErpAssemblyList) - { - AssemblyCfgErp obj = ObjectMapper.Map(erpItm); - obj.SetErpAssemblyVersion(++maxVersion); - - foreach (var childObj in obj.Details) - { - childObj.SetId(GuidGenerator.Create()); - } - //重复总成处理 - await RemoveRepeatErpAssembly2(obj); - - AssemblyCfgErp obj2 = await _assemblyCfgErpRepository.InsertAsync(obj); - erpIdLst.Add(obj2.Id); //返回添加的Erp总成Id列表 - } - //插入整车总成配置表 - AssemblyCfgVehicle vehicleAssemblyCfgObj = new AssemblyCfgVehicle(GuidGenerator.Create(), null, null, null, true); - foreach (Guid erpAssemblyId in erpIdLst) - { - vehicleAssemblyCfgObj.AddChildObj(GuidGenerator.Create(), erpAssemblyId); - } - var vehicleAssemblyResu = await _assemblyCfgVehicleRepository.InsertAsync(vehicleAssemblyCfgObj); - #endregion - - #region 修改单据 - BillM100 billObj = await _billM100Repository.GetAsync(id); - await _billM100PartRepository.DeleteManyAsync(billObj.BillM100Parts); //先删除子实体列表 - ObjectMapper.Map(input.M100Bill, billObj); - billObj.AssemblyID = vehicleAssemblyResu.Id; - await _billM100Repository.UpdateAsync(billObj); - await _billM100PartRepository.InsertManyAsync(billObj.BillM100Parts); //再添加子实体列表 - #endregion - - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - foreach (Guid item in idLst) - { - BillM100 sourceObj = await _billM100Repository.GetAsync(item); - if (sourceObj != null) - { - await _billM100PartRepository.DeleteManyAsync(sourceObj.BillM100Parts); - await _billM100Repository.DeleteAsync(item); - } - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryBillM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List items = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("单据M100_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - - /// - /// 根据KNR取单据对应的ERP总成列表 - /// - /// - /// - [UnitOfWork] - [HttpPost] - [Route("get-erp-assembly-list")] - public virtual async Task> GetErpAssemblyListAsync(string knr) - { - _logger.LogDebug(_errorMessagePrefix + "GetErpAssemblyListAsync 进入"); - ListResultDto ret = new ListResultDto(); - try - { - var billObj = await _billR100Repos.FirstOrDefaultAsync(itm => itm.KNR == knr); - if (billObj != null) - { - //取单据包含的ERP总成列表 - AssemblyCfgVehicle vobj = await _assemblyCfgVehicleRepository.GetAsync((Guid)billObj.AssemblyID); - if (vobj != null && vobj.AssemblyCfgVehicleChilds != null && vobj.AssemblyCfgVehicleChilds.Count > 0) - { - List vehicleChildLst = vobj.AssemblyCfgVehicleChilds; - foreach (AssemblyCfgVehicleChild vehicleChildItm in vehicleChildLst) - { - AssemblyCfgErp sourceErp = await _assemblyCfgErpRepository.GetAsync(vehicleChildItm.ErpAssemblyId); - AssemblyCfgErpDto targetErp = ObjectMapper.Map(sourceErp); - ret.Item.Add(targetErp); - } - } - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetErpAssemblyListAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - #endregion - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillR100s/BillR100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillR100s/BillR100AppService.cs deleted file mode 100644 index 40cfe88f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/BillR100s/BillR100AppService.cs +++ /dev/null @@ -1,545 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; -using Microsoft.AspNetCore.Mvc; - -namespace WY.NewJit.MsgCheck -{ - /// - /// R100单据管理应用服务实现 - /// - [Route("api/newjit/bill-r100")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文解析及校验)] - public class BillR100AppService : ApplicationService, IBillR100AppService - { - /// - /// 仓储 - /// - private readonly IRepository _billR100Repository; - - private readonly IRepository _billR100PartRepository; - - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public BillR100AppService( - IRepository billR100Repository, - IRepository billR100PartRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer - ) - { - _billR100Repository = billR100Repository; - _billR100PartRepository = billR100PartRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - private async Task> QueryByConditionAsync(QueryBillR100Dto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select * from -( - select count(*) as cnt - from FisBillR100 b - left join d on b.VehicleModelCode = d.DicItemCode - left join FisAssemblyCfgVehicle v on b.AssemblyID = v.Id - where 1=1 {0} -) t -"; - - string sql = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select t.*, - stuff( - (select ',' + e.ErpAssemblyCode - from FisAssemblyCfgVehicle v - join FisAssemblyCfgVehicleChild vc on v.Id = vc.AssemblyCfgVehicleId - join FisAssemblyCfgErp e on vc.ErpAssemblyId = e.Id - where v.Id = t.AssemblyId - for xml path('')), - 1,1,'') as ErpAssemblyCode, - stuff( - (select ',' + e.ErpAssemblyName - from FisAssemblyCfgVehicle v - join FisAssemblyCfgVehicleChild vc on v.Id = vc.AssemblyCfgVehicleId - join FisAssemblyCfgErp e on vc.ErpAssemblyId = e.Id - where v.Id = t.AssemblyId - for xml path('')), - 1,1,'') as ErpAssemblyName -from -( - select ROW_NUMBER() OVER(order by b.KNR, b.HostSN) as row_number, - b.*, d.DicItemName as VehicleModelName - from FisBillR100 b - left join d on b.VehicleModelCode = d.DicItemCode - where 1=1 {0} -) t where row_number between {1} and {2} -"; - string where = ""; - if (!string.IsNullOrEmpty(input.VehicleModelCode)) - { - where += string.Format(" and d.DicItemName = '{0}'", input.VehicleModelCode); - } - if (input.HostSNBegin != null) - { - where += string.Format(" and b.HostSN >= {0}", input.HostSNBegin); - } - if (input.HostSNEnd != null) - { - where += string.Format(" and b.HostSN <= {0}", input.HostSNEnd); - } - if (!string.IsNullOrEmpty(input.KNRBegin)) - { - where += string.Format(" and b.KNR >= '{0}'", input.KNRBegin); - } - if (!string.IsNullOrEmpty(input.KNREnd)) - { - where += string.Format(" and b.KNR <= '{0}'", input.KNREnd); - } - if (input.AssemblyID != null) - { - where += string.Format(" and b.AssemblyID = '{0}'", input.AssemblyID.ToString()); - } - if (input.OnlineTimeBegin != null) - { - where += string.Format(" and b.OnlineTime >= '{0}'", ((DateTime)input.OnlineTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.OnlineTimeEnd != null) - { - where += string.Format(" and b.OnlineTime <= '{0}'", ((DateTime)input.OnlineTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.VehicleModelCode != null) - { - where += string.Format(" and b.VehicleModelCode = '{0}'", input.VehicleModelCode); - } - if (input.ProductLine != null) - { - where += string.Format(" and b.ProductLine = '{0}'", input.ProductLine); - } - if (input.Version != null) - { - where += string.Format(" and b.Version = '{0}'", input.Version); - } - if (input.ReceiveTimeBegin != null) - { - where += string.Format(" and b.ReceiveTime >= '{0}'", ((DateTime)input.ReceiveTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.ReceiveTimeEnd != null) - { - where += string.Format(" and b.ReceiveTime <= '{0}'", ((DateTime)input.ReceiveTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.BillStatus != null && input.BillStatus != BillStatusEnum.None) - { - where += string.Format(" and b.BillStatus = {0}", ((int)input.BillStatus).ToString()); - } - where += " and b.BillStatus in (2,3)"; //单据状态是已生效、已发布 - - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - #endregion - - #region 公共方法 - - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryBillR100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - BillR100 sourceObj = await _billR100Repository.GetAsync(id); - BillR100Dto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreateAsync(CreateUpdateBillR100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - BillR100 obj = ObjectMapper.Map(input); - #region 主子表主键Id赋值 - foreach (var item in obj.BillR100Parts) - { - item.SetId(GuidGenerator.Create()); - } - #endregion - BillR100 obj2 = await _billR100Repository.InsertAsync(obj); - ret.Item = obj2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 修改实体 - /// - /// 更新主键 - /// 修改内容 - /// 执行成功返回真 - [HttpPut] - [UnitOfWork] - [Route("{id}")]//update/ - public virtual async Task UpdateAsync(Guid id, CreateUpdateBillR100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - BillR100 targetObj = await _billR100Repository.GetAsync(id); - await _billR100PartRepository.DeleteManyAsync(targetObj.BillR100Parts); //先删除子实体列表 - ObjectMapper.Map(input, targetObj); - await _billR100Repository.UpdateAsync(targetObj); - await _billR100PartRepository.InsertManyAsync(targetObj.BillR100Parts); //再添加子实体列表 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - foreach (Guid item in idLst) - { - BillR100 sourceObj = await _billR100Repository.GetAsync(item); - if (sourceObj != null) - { - await _billR100PartRepository.DeleteManyAsync(sourceObj.BillR100Parts); - await _billR100Repository.DeleteAsync(item); - } - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryBillR100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List items = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("单据R100_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export-erp-assembly-code")] - public virtual async Task> ExportErpAssemblyCodeAsync(QueryBillR100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportErpAssemblyCodeAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - string sql = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -, erp as -( -select v.Id, v.AssemblyName, e.ErpAssemblyCode, e.ErpAssemblyName - from FisAssemblyCfgVehicle v - join FisAssemblyCfgVehicleChild vc on v.Id = vc.AssemblyCfgVehicleId - join FisAssemblyCfgErp e on vc.ErpAssemblyId = e.Id -) -select * from -( - select ROW_NUMBER() OVER(order by b.HostSN) as row_number, - b.*, d.DicItemName as VehicleModelName, erp.AssemblyName, erp.ErpAssemblyCode, erp.ErpAssemblyName - from FisBillR100 b - left join d on b.VehicleModelCode = d.DicItemCode - left join erp on b.AssemblyId = erp.Id - where 1=1 {0} -) t -"; - string where = ""; - if (!string.IsNullOrEmpty(input.VehicleModelCode)) - { - where += string.Format(" and d.DicItemName = '{0}'", input.VehicleModelCode); - } - if (input.HostSNBegin != null) - { - where += string.Format(" and b.HostSN >= {0}", input.HostSNBegin); - } - if (input.HostSNEnd != null) - { - where += string.Format(" and b.HostSN <= {0}", input.HostSNEnd); - } - if (!string.IsNullOrEmpty(input.KNRBegin)) - { - where += string.Format(" and b.KNR >= '{0}'", input.KNRBegin); - } - if (!string.IsNullOrEmpty(input.KNREnd)) - { - where += string.Format(" and b.KNR <= '{0}'", input.KNREnd); - } - if (input.AssemblyID != null) - { - where += string.Format(" and b.AssemblyID = '{0}'", input.AssemblyID.ToString()); - } - if (input.OnlineTimeBegin != null) - { - where += string.Format(" and b.OnlineTime >= '{0}'", ((DateTime)input.OnlineTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.OnlineTimeEnd != null) - { - where += string.Format(" and b.OnlineTime <= '{0}'", ((DateTime)input.OnlineTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.VehicleModelCode != null) - { - where += string.Format(" and b.VehicleModelCode = '{0}'", input.VehicleModelCode); - } - if (input.ProductLine != null) - { - where += string.Format(" and b.ProductLine = '{0}'", input.ProductLine); - } - if (input.Version != null) - { - where += string.Format(" and b.Version = '{0}'", input.Version); - } - if (input.ReceiveTimeBegin != null) - { - where += string.Format(" and b.ReceiveTime >= '{0}'", ((DateTime)input.ReceiveTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.ReceiveTimeEnd != null) - { - where += string.Format(" and b.ReceiveTime <= '{0}'", ((DateTime)input.ReceiveTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.BillStatus != null && input.BillStatus != BillStatusEnum.None) - { - where += string.Format(" and b.BillStatus = {0}", ((int)input.BillStatus).ToString()); - } - where += " and b.BillStatus in (2,3)"; //单据状态是已生效、已发布 - - //计算分页 - sql = string.Format(sql, where); - List items = await _newJitDapperRepository.GetListBySqlAsync(sql); - foreach (var itm in items) - { - itm.ErpAssemblyNum = 1; - } - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("新单据R100_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - //将导出的单据状态更新为“已导出” - if (where.Length > 0) - { - string updateSql = "update b set BillStatus = 2, PrintTime = GETDATE() from FisBillR100 b where 1=1"; - updateSql = string.Format(updateSql, where); - await _newJitDapperRepository.ExecuteSqlAsync(updateSql); - } - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportErpAssemblyCodeAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/R100M100Compare/R100M100CompareAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/R100M100Compare/R100M100CompareAppService.cs deleted file mode 100644 index 0732ea3c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/R100M100Compare/R100M100CompareAppService.cs +++ /dev/null @@ -1,296 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; -using Microsoft.AspNetCore.Mvc; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 焊装总装对比应用服务实现 - /// - [Route("api/newjit/r100-m100-compare")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文解析及校验)] - public class R100M100CompareAppService : ApplicationService, IR100M100CompareAppService - { - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public R100M100CompareAppService( - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer - ) - { - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - private async Task> QueryByConditionAsync(QueryCompareDto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" -select * from -( - select count(*) as cnt - from FisBillR100 r - left join FisBillM100 m on r.KNR = m.KNR - where 1=1 {0} -) t -"; - //加总成编码、总成名称字段 - string sql = @" -select t.*, - stuff( - (select ',' + e.ErpAssemblyCode - from FisAssemblyCfgVehicle v - join FisAssemblyCfgVehicleChild vc on v.Id = vc.AssemblyCfgVehicleId - join FisAssemblyCfgErp e on vc.ErpAssemblyId = e.Id - where v.Id = t.AssemblyId - for xml path('')), - 1,1,'') as R100ErpAssemblyCode, - stuff( - (select ',' + e.ErpAssemblyName - from FisAssemblyCfgVehicle v - join FisAssemblyCfgVehicleChild vc on v.Id = vc.AssemblyCfgVehicleId - join FisAssemblyCfgErp e on vc.ErpAssemblyId = e.Id - where v.Id = t.AssemblyId - for xml path('')), - 1,1,'') as R100ErpAssemblyName -from -( - select ROW_NUMBER() OVER(order by r.HostSN) as row_number, - r.HostSN, r.KNR, r.BillStatus as R100BillStatus, r.OnlineTime as R100OnlineTime, - r.ReceiveTime as R100ReceiveTime, r.VehicleModelCode, r.Version, r.AssemblyID, - m.SerialNum, m.VIN, m.OnlineTime as M100OnlineTime, m.ReceiveTime as M100ReceiveTime, - m.BillStatus as M100BillStatus - from FisBillR100 r - left join FisBillM100 m on r.KNR = m.KNR - where 1=1 {0} -) t where row_number between {1} and {2} -"; - string where = ""; - if (input.SerialNumBegin != null) - { - where += string.Format(" and m.SerialNum >= {0}", input.SerialNumBegin); - } - if (input.SerialNumEnd != null) - { - where += string.Format(" and m.SerialNum <= {0}", input.SerialNumEnd); - } - if (input.HostSNBegin != null) - { - where += string.Format(" and r.HostSN >= {0}", input.HostSNBegin); - } - if (input.HostSNEnd != null) - { - where += string.Format(" and r.HostSN <= {0}", input.HostSNEnd); - } - if (!string.IsNullOrEmpty(input.KNRBegin)) - { - where += string.Format(" and r.KNR >= '{0}'", input.KNRBegin); - } - if (!string.IsNullOrEmpty(input.KNREnd)) - { - where += string.Format(" and r.KNR <= '{0}'", input.KNREnd); - } - if (!string.IsNullOrEmpty(input.VINBegin)) - { - where += string.Format(" and m.VIN >= '{0}'", input.VINBegin); - } - if (!string.IsNullOrEmpty(input.VINEnd)) - { - where += string.Format(" and m.VIN <= '{0}'", input.VINEnd); - } - if (input.AssemblyID != null) - { - where += string.Format(" and r.AssemblyID = '{0}'", input.AssemblyID.ToString()); - } - if (input.OnlineTimeBegin != null) - { - where += string.Format(" and r.OnlineTime >= '{0}'", ((DateTime)input.OnlineTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.OnlineTimeEnd != null) - { - where += string.Format(" and r.OnlineTime <= '{0}'", ((DateTime)input.OnlineTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.VehicleModelCode != null) - { - where += string.Format(" and r.VehicleModelCode like '%{0}%'", input.VehicleModelCode); - } - if (input.ProductLine != null) - { - where += string.Format(" and r.ProductLine = '{0}'", input.ProductLine); - } - if (input.Version != null) - { - where += string.Format(" and r.Version like '%{0}%'", input.Version); - } - if (input.ReceiveTimeBegin != null) - { - where += string.Format(" and r.ReceiveTime >= '{0}'", ((DateTime)input.ReceiveTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.ReceiveTimeEnd != null) - { - where += string.Format(" and r.ReceiveTime <= '{0}'", ((DateTime)input.ReceiveTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.BillStatus != null && input.BillStatus != BillStatusEnum.None) - { - where += string.Format(" and r.BillStatus = {0}", ((int)input.BillStatus).ToString()); - } - where += " and r.BillStatus in (2,3)"; //单据状态是已生效、已发布 - if (input.IsBillMaintenance == true) //M100单据信息维护模块使用 - { - where += " and r.Operator is not null"; - } - //加有焊装无总装、有焊装有总装 查询条件 - if (input.HasR100NotHasM100 == true && input.HasR100HasM100 == true) - { - //都显示 - } - else if (input.HasR100NotHasM100 == true) //有焊装无总装 - { - where += " and m.VIN is null"; - } - else if (input.HasR100HasM100 == true) //有焊装有总装 - { - where += " and m.VIN is not null"; - } - else - { - where += " and 1 = 2"; - } - - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - - - #endregion - - #region 公共方法 - - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryCompareDto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryCompareDto input) - { - //?? 提供导出CSV格式文件(不是EXCEL格式) - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List items = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("焊装总装对比_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - - #endregion - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatM100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatM100AppService.cs deleted file mode 100644 index 5337f982..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatM100AppService.cs +++ /dev/null @@ -1,375 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; -using Microsoft.AspNetCore.Mvc; - -namespace WY.NewJit.MsgCheck -{ - /// - /// M100重复报文应用服务实现 - /// - [Route("api/newjit/repeat-m100")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文解析及校验)] - public class RepeatM100AppService : ApplicationService, IRepeatM100AppService - { - /// - /// 仓储 - /// - private readonly IRepository _repeatM100Repository; - - private readonly IRepository _repeatM100PartRepository; - - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public RepeatM100AppService( - IRepository repeatM100Repository, - IRepository repeatM100PartRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer - ) - { - _repeatM100Repository = repeatM100Repository; - _repeatM100PartRepository = repeatM100PartRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - private async Task> QueryByConditionAsync(QueryRepeatM100Dto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select * from -( - select count(*) as cnt - from FisRepeatM100 r - left join d on r.VehicleModelCode = d.DicItemCode - left join FisAssemblyCfgVehicle a on r.AssemblyID = a.Id - where 1=1 {0} -) t -"; - - string sql = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select * from -( - select ROW_NUMBER() OVER(order by r.SerialNum, r.HostSN) as row_number, - r.*, d.DicItemName as VehicleModelName, a.AssemblyName - from FisRepeatM100 r - left join d on r.VehicleModelCode = d.DicItemCode - left join FisAssemblyCfgVehicle a on r.AssemblyID = a.Id - where 1=1 {0} -) t where row_number between {1} and {2} -"; - string where = ""; - if (input.HostSNBegin != null) - { - where += string.Format(" and r.HostSN >= {0}", input.HostSNBegin); - } - if (input.HostSNEnd != null) - { - where += string.Format(" and r.HostSN <= {0}", input.HostSNEnd); - } - if (!string.IsNullOrEmpty(input.KNRBegin)) - { - where += string.Format(" and r.KNR >= '{0}'", input.KNRBegin); - } - if (!string.IsNullOrEmpty(input.KNREnd)) - { - where += string.Format(" and r.KNR <= '{0}'", input.KNREnd); - } - - if (!string.IsNullOrEmpty(input.VINBegin)) - { - where += string.Format(" and r.VIN >= '{0}'", input.VINBegin); - } - if (!string.IsNullOrEmpty(input.VINEnd)) - { - where += string.Format(" and r.VIN <= '{0}'", input.VINEnd); - } - if (input.OnlineTimeBegin != null) - { - where += string.Format(" and r.OnlineTime >= '{0}'", ((DateTime)input.OnlineTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.OnlineTimeEnd != null) - { - where += string.Format(" and r.OnlineTime <= '{0}'", ((DateTime)input.OnlineTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (!string.IsNullOrEmpty(input.VehicleModelCode)) - { - where += string.Format(" and r.VehicleModelCode = '{0}'", input.VehicleModelCode); - } - if (input.ProductLine != null) - { - where += string.Format(" and r.ProductLine = '{0}'", input.ProductLine); - } - if (input.Version != null) - { - where += string.Format(" and r.Version like '%{0}%'", input.Version); - } - if (input.ReceiveTimeBegin != null) - { - where += string.Format(" and r.ReceiveTime >= '{0}'", ((DateTime)input.ReceiveTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.ReceiveTimeEnd != null) - { - where += string.Format(" and r.ReceiveTime <= '{0}'", ((DateTime)input.ReceiveTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - #endregion - - #region 公共方法 - - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryRepeatM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - RepeatM100 sourceObj = await _repeatM100Repository.GetAsync(id); - RepeatM100Dto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - - - /// - /// 添加实体 - /// - /// 添加内容 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("")]//create - public virtual async Task> CreateAsync(CreateUpdateRepeatM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - //取重复报文 最大流水号 - int repeatMaxSN = _repeatM100Repository.Max(itm => itm.SerialNum) ?? 0; - - - RepeatM100 obj = ObjectMapper.Map(input); - obj.SetSerialNum( ++repeatMaxSN); - #region 主子表主键Id赋值 - foreach (var item in obj.M100RepeatParts) - { - item.SetId(GuidGenerator.Create()); - } - #endregion - RepeatM100 obj2 = await _repeatM100Repository.InsertAsync(obj); - ret.Item = obj2.Id; //返回添加对象的主键 - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - - - - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - foreach (Guid item in idLst) - { - RepeatM100 sourceObj = await _repeatM100Repository.GetAsync(item); - if (sourceObj != null) - { - await _repeatM100PartRepository.DeleteManyAsync(sourceObj.M100RepeatParts); - await _repeatM100Repository.DeleteAsync(item); - } - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryRepeatM100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List items = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("重复报文M100_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatR100AppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatR100AppService.cs deleted file mode 100644 index b1971e2a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/RepeatMessages/RepeatR100AppService.cs +++ /dev/null @@ -1,326 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; -using Microsoft.AspNetCore.Mvc; - -namespace WY.NewJit.MsgCheck -{ - /// - /// R100重复报文应用服务实现 - /// - [Route("api/newjit/repeat-r100")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文解析及校验)] - public class RepeatR100AppService : ApplicationService, IRepeatR100AppService - { - /// - /// 仓储 - /// - private readonly IRepository _repeatR100Repository; - - private readonly IRepository _repeatR100PartRepository; - - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 构造函数 - /// - public RepeatR100AppService( - IRepository repeatR100Repository, - IRepository repeatR100PartRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IBlobContainer blobContainer - ) - { - _repeatR100Repository = repeatR100Repository; - _repeatR100PartRepository = repeatR100PartRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _blobContainer = blobContainer; - } - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - private async Task> QueryByConditionAsync(QueryRepeatR100Dto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select * from -( - select count(*) as cnt - from FisRepeatR100 r - left join d on r.VehicleModelCode = d.DicItemCode - left join FisAssemblyCfgVehicle a on r.AssemblyID = a.Id - where 1=1 {0} -) t -"; - - string sql = @" -with d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select * from -( - select ROW_NUMBER() OVER(order by r.KNR, r.HostSN) as row_number, - r.*, d.DicItemName as VehicleModelName, a.AssemblyName - from FisRepeatR100 r - left join d on r.VehicleModelCode = d.DicItemCode - left join FisAssemblyCfgVehicle a on r.AssemblyID = a.Id - where 1=1 {0} -) t where row_number between {1} and {2} -"; - string where = ""; - if (input.HostSNBegin != null) - { - where += string.Format(" and r.HostSN >= {0}", input.HostSNBegin); - } - if (input.HostSNEnd != null) - { - where += string.Format(" and r.HostSN <= {0}", input.HostSNEnd); - } - if (!string.IsNullOrEmpty(input.KNRBegin)) - { - where += string.Format(" and r.KNR >= '{0}'", input.KNRBegin); - } - if (!string.IsNullOrEmpty(input.KNREnd)) - { - where += string.Format(" and r.KNR <= '{0}'", input.KNREnd); - } - //if (!string.IsNullOrEmpty(input.VIN)) - //{ - // where += string.Format(" and r.VIN like '%{0}%'", input.VIN); - //} - if (input.OnlineTimeBegin != null) - { - where += string.Format(" and r.OnlineTime >= '{0}'", ((DateTime)input.OnlineTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.OnlineTimeEnd != null) - { - where += string.Format(" and r.OnlineTime <= '{0}'", ((DateTime)input.OnlineTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (!string.IsNullOrEmpty(input.VehicleModelCode)) - { - where += string.Format(" and r.VehicleModelCode = '{0}'", input.VehicleModelCode); - } - if (input.ProductLine != null) - { - where += string.Format(" and r.ProductLine = '{0}'", input.ProductLine); - } - if (input.Version != null) - { - where += string.Format(" and r.Version like '%{0}%'", input.Version); - } - if (input.ReceiveTimeBegin != null) - { - where += string.Format(" and r.ReceiveTime >= '{0}'", ((DateTime)input.ReceiveTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.ReceiveTimeEnd != null) - { - where += string.Format(" and r.ReceiveTime <= '{0}'", ((DateTime)input.ReceiveTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - #endregion - - #region 公共方法 - - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryRepeatR100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - RepeatR100 sourceObj = await _repeatR100Repository.GetAsync(id); - RepeatR100Dto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - foreach (Guid item in idLst) - { - RepeatR100 sourceObj = await _repeatR100Repository.GetAsync(item); - if (sourceObj != null) - { - await _repeatR100PartRepository.DeleteManyAsync(sourceObj.R100RepeatParts); - await _repeatR100Repository.DeleteAsync(item); - } - - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryRepeatR100Dto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List items = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("重复报文R100_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - #endregion - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/UnknownAssemblys/UnknownAssemblyAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/UnknownAssemblys/UnknownAssemblyAppService.cs deleted file mode 100644 index 398b129c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgCheck/UnknownAssemblys/UnknownAssemblyAppService.cs +++ /dev/null @@ -1,820 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.MsgBaseData; -using WY.NewJit.Common; -using Shouldly; -using Volo.Abp.BlobStoring; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.MsgCheck.UnknownAssemblys; -using WY.NewJit.MsgTransmission; -using Volo.Abp.EventBus.Distributed; -using WY.NewJit.SettleAccountFis; -using WY.NewJit.MsgTransmission.PaiGe; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 未知总成应用服务实现 - /// - [Route("api/newjit/unknown-assembly")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文解析及校验)] - public class UnknownAssemblyAppService : ApplicationService, IUnknownAssemblyAppService - { - /// - /// 未知总成仓储 - /// - private readonly IRepository _UnknownAssemblyRepository; - - private readonly IRepository _UnknownAssemblyPartRepository; - - private readonly IRepository _assemblyCfgVehicleRepository; - private readonly IRepository _assemblyCfgProductRepository; - private readonly IRepository _assemblyCfgPartRepository; - - private readonly IRepository _billR100Repository; - private readonly IRepository _billM100Repository; - - /// - /// ERP总成仓储 - /// - private readonly IRepository _assemblyCfgErpRepository; - - private readonly MsgTransmissionAppService _msgTransmissionAppService; - - /// - /// R100报文解析及校验领域服务 - /// - private readonly R100CheckDomainService _r100CheckDomainSrv; - - /// - /// M100报文解析及校验领域服务 - /// - private readonly M100CheckDomainService _m100CheckDomainService; - - - - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// BLOB存储 - /// - private readonly IBlobContainer _blobContainer; - - /// - /// 事物总线仓库 - /// - private readonly IDistributedEventBus _distributedEventBus; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - #region 构造函数 - /// - /// 构造函数 - /// - public UnknownAssemblyAppService( - IRepository UnknownAssemblyRepository, - IRepository UnknownAssemblyPartRepository, - ILogger logger, - NewJitDapperRepository newJitDapperRepository, - IRepository assemblyCfgRepository, - IRepository assemblyCfgProductRepository, - IRepository assemblyCfgPartRepository, - IRepository billR100Repository, - IRepository billM100Repository, - IBlobContainer blobContainer, - IRepository assemblyCfgErpRepository, - MsgTransmissionAppService msgTransmissionAppService, - R100CheckDomainService r100CheckDomainSrv, - M100CheckDomainService m100CheckDomainService, - IDistributedEventBus distributedEventBus - ) - { - _UnknownAssemblyRepository = UnknownAssemblyRepository; - _UnknownAssemblyPartRepository = UnknownAssemblyPartRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - - //总成配置仓储 - _assemblyCfgVehicleRepository = assemblyCfgRepository; - _assemblyCfgProductRepository = assemblyCfgProductRepository; - _assemblyCfgPartRepository = assemblyCfgPartRepository; - - _billR100Repository = billR100Repository; - _billM100Repository = billM100Repository; - _blobContainer = blobContainer; - _assemblyCfgErpRepository = assemblyCfgErpRepository; - _msgTransmissionAppService = msgTransmissionAppService; - _r100CheckDomainSrv = r100CheckDomainSrv; - _m100CheckDomainService = m100CheckDomainService; - _distributedEventBus = distributedEventBus; - } - #endregion - - #region 私有方法 - /// - /// 根据筛选条件获取实体列表 - /// - private async Task> QueryByConditionAsync(QueryUnknownAssemblyDto input, PagedAndSortedBase page) - { - PagedResultDto ret = new PagedResultDto(); - - string sqlCnt = @" - -with b as -( - select Id,HostSN,KNR,'' as VIN,AssemblyID,OnlineTime,ReceiveTime,VehicleModelCode,ProductLine,[Version],BillStatus from FisBillR100 where BillStatus =1 - union all - select Id,HostSN,KNR,VIN,AssemblyID,OnlineTime,ReceiveTime,VehicleModelCode,ProductLine,[Version],BillStatus from FisBillM100 where BillStatus =1 -) -,d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select * from -( - select count(*) as cnt - from FisUnknownAssembly a - join b on a.BillID = b.Id - left join d on b.VehicleModelCode = d.DicItemCode - where a.IsDeleted <> 1 {0} -) t -"; - - string sql = @" - -with b as -( - select Id,HostSN,KNR,'' as VIN,AssemblyID,OnlineTime,ReceiveTime,VehicleModelCode,ProductLine,[Version],BillStatus from FisBillR100 where BillStatus =1 - union all - select Id,HostSN,KNR,VIN,AssemblyID,OnlineTime,ReceiveTime,VehicleModelCode,ProductLine,[Version],BillStatus from FisBillM100 where BillStatus =1 -) -,d as -( - select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') -) -select * from -( - select ROW_NUMBER() OVER(order by b.HostSN) as row_number, - a.*, b.HostSN,b.KNR,VIN,b.AssemblyID,b.OnlineTime,b.ReceiveTime,b.VehicleModelCode,b.[Version],b.BillStatus, '' as MessageFileName - from FisUnknownAssembly a - join b on a.BillID = b.Id - left join d on b.VehicleModelCode = d.DicItemCode - where a.IsDeleted <> 1 {0} -) t where row_number between {1} and {2} -"; - string where = ""; - if (!string.IsNullOrEmpty(input.ScanPoint)) - { - where += string.Format(" and a.ScanPoint = '{0}'", input.ScanPoint); - } - if (input.HostSNBegin != null) - { - where += string.Format(" and b.HostSN >= {0}", input.HostSNBegin); - } - if (input.HostSNEnd != null) - { - where += string.Format(" and b.HostSN <= {0}", input.HostSNEnd); - } - if (!string.IsNullOrEmpty(input.KNRBegin)) - { - where += string.Format(" and b.KNR >= '{0}'", input.KNRBegin); - } - if (!string.IsNullOrEmpty(input.KNREnd)) - { - where += string.Format(" and b.KNR <= '{0}'", input.KNREnd); - } - - if (!string.IsNullOrEmpty(input.VINBegin)) - { - where += string.Format(" and b.VIN >= '{0}'", input.VINBegin); - } - if (!string.IsNullOrEmpty(input.VINEnd)) - { - where += string.Format(" and b.VIN <= '{0}'", input.VINEnd); - } - if (input.AssemblyID != null) - { - where += string.Format(" and b.AssemblyID = '{0}'", input.AssemblyID.ToString()); - } - if (input.OnlineTimeBegin != null) - { - where += string.Format(" and b.OnlineTime >= '{0}'", ((DateTime)input.OnlineTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.OnlineTimeEnd != null) - { - where += string.Format(" and b.OnlineTime <= '{0}'", ((DateTime)input.OnlineTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); - } - if (input.VehicleModelCode != null) - { - where += string.Format(" and b.VehicleModelCode like '%{0}%'", input.VehicleModelCode); - } - if (input.ProductLine != null) - { - where += string.Format(" and b.ProductLine = '{0}'", input.ProductLine); - } - if (input.Version != null) - { - where += string.Format(" and b.Version like '%{0}%'", input.Version); - } - - sqlCnt = string.Format(sqlCnt, where); - ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync(sqlCnt); - - //计算分页 - int fromRec = page.SkipCount + 1; - int ToRec = page.SkipCount + page.MaxResultCount; - sql = string.Format(sql, where, fromRec, ToRec); - var lst = await _newJitDapperRepository.GetListBySqlAsync(sql); - ret.Items = lst; - return ret; - } - - [UnitOfWork] - private bool OneParseAsync(Guid unknownAssemblyId) - { - bool isMatch = false; - //根据未知总成ID取单据Id - UnknownAssembly unknownAssemblyObj = _UnknownAssemblyRepository.GetAsync(unknownAssemblyId, false).GetAwaiter().GetResult(); - if (unknownAssemblyObj.ScanPoint == "R100")//!! - { - } - else if (unknownAssemblyObj.ScanPoint == "M100") - { - //天合版本的匹配总成算法: - //匹配上时:插入整车总成配置表、更新单据表的整车总成ID字段、返回true - //匹配不上时返回false - //isMatch = _msgTransmissionAppServiceTianHe.MatchAssembly_Init(unknownAssemblyObj.BillID); - var billObj = _billM100Repository.GetAsync(unknownAssemblyObj.BillID).GetAwaiter().GetResult(); - _m100CheckDomainService.DoMatchAssembly(billObj); - } - unknownAssemblyObj.SetExtraProperties("1"); - _UnknownAssemblyRepository.UpdateAsync(unknownAssemblyObj).GetAwaiter().GetResult(); - return isMatch; - } - - private FISVersionEto ConvertToFISVersion(List m100BillList) - { - try - { - List tarChildLst = new List(); - foreach (BillM100 billItm in m100BillList) - { - foreach (BillM100Part partItm in billItm.BillM100Parts) - { - Guid id = GuidGenerator.Create(); - string year = billItm.OnlineTime.DateTimeNotNull().ToString("yyyy"); //年度 - string period = billItm.OnlineTime.DateTimeNotNull().ToString("MM"); //期间 - string extend1 = null; //其他字段 - string chassisNumber = billItm.VIN; //底盘号 - decimal qty = (decimal)(partItm.PartNum ?? 0); //用量 - string cp5Time = billItm.OnlineTime.DateTime_yyyyMMddHHmmss(); //CP5时间 - string sequenceNumber = billItm.HostSN.ToString(); //顺序号 - string orderBillNum = billItm.KNR; //订单编号 - string materialCode = partItm.PartCode; //发运零件号 - string fisyear = billItm.OnlineTime.DateTimeNotNull().ToString("yyyy"); - Guid parentId = GuidGenerator.Create(); - string kENNCode = billItm.KNR; //KENEN号 - string chassisNumber2 = null; //底盘号2 - int state = 0; //状态 - string cp7Time = billItm.OnlineTime.DateTime_yyyyMMddHHmmss(); //CP7时间 - decimal settledQty = 0; //结算数量 - string version = billItm.OnlineTime.DateTimeNotNull().ToString("yyyyMM"); //年度+月 202106 - string creationTime = ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss(); - Guid creatorId = GuidGenerator.Create(); - string beginTime = ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss(); //开始时间 - string endTime = ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss(); //结束时间 - string erpMatialCode = null; //Erp总成号 - string model = null;//车型 - FIS_TH tarChild = new FIS_TH(id, year, period, extend1, chassisNumber, qty, cp5Time, sequenceNumber, - orderBillNum, materialCode, fisyear, parentId, kENNCode, chassisNumber2, state, cp7Time, settledQty, - version, creationTime, creatorId, beginTime, endTime, erpMatialCode, model); - tarChildLst.Add(tarChild); - } - } - FISVersionEto tarMain = new FISVersionEto( - GuidGenerator.Create(), - ServerHelper.CurrentDateTime.ToString("yyyy"), - ServerHelper.CurrentDateTime.ToString("MM"), - ServerHelper.CurrentDateTime.ToString("yyyyMM"), - "FAW", null, null, ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss(), ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss() - ); - tarMain.Details = tarChildLst; - return tarMain; - - } - catch (Exception ex) - { - throw new Exception($"ConvertToFISVersion子方法--" + ex.Message); - } - } - - /// - /// 根据输入参数,去掉与之重复的ERP总成 - /// - /// - /// - private async Task RemoveRepeatErpAssembly2(AssemblyCfgErp input) - { - _logger.LogDebug(_errorMessagePrefix + "RemoveRepeatErpAssembly2 进入"); - try - { - //取Erp总成 - List allLst = await _assemblyCfgErpRepository.GetListAsync(true); - - List filterLst = allLst.Where(itm => itm.ErpAssemblyVersion < input.ErpAssemblyVersion && itm.PreviousVersionId == null).ToList(); - - foreach (AssemblyCfgErp filterItm in filterLst) - { - bool isSame = CompareTwoCollection(input.Details, filterItm.Details); - if (isSame) - { - filterItm.SetPreviousVersionId(input.Id); - await _assemblyCfgErpRepository.UpdateAsync(filterItm); - } - } - _logger.LogDebug(_errorMessagePrefix + "RemoveRepeatErpAssembly2 完成"); - return; - } - catch (Exception ex) - { - throw new Exception("RemoveRepeatErpAssembly2 执行出错:" + ex); - } - } - - /// - /// 两个集合比较 - /// - /// - /// - /// - private bool CompareTwoCollection(List sourceLst, List targetLst) - { - if (sourceLst == null || targetLst == null || sourceLst.Count == 0 || targetLst.Count == 0) - { - return false; - } - if (sourceLst.Count != targetLst.Count) - { - return false; - } - //将目标对象转换成和源对象一样的类型 AssemblyCfgErp2PartDto to BillM100Part - var srcOrdLst = sourceLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - var tarOrdLst = targetLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - - bool isEqual = srcOrdLst.SequenceEqual(tarOrdLst, new AssemblyCfgPartListEquality()); - return isEqual; - } - - - #endregion - - #region 公共方法 - - /// - /// 根据筛选条件获取分页实体列表 - /// - /// 输入查询条件 - /// 输入分页条件 - /// 返回符合条件的排序分页列表 - [HttpGet] - [UnitOfWork(false)] - [Route("list")] - public virtual async Task> GetListAsync(QueryUnknownAssemblyDto input) - { - _logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); - try - { - PagedResultDto ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; - _logger.LogError(errMsg); - return new PagedResultDto(0, new List()); - } - } - - /// - /// 按主键获取唯一实体 - /// - /// 主键 - /// 实体信息 - [HttpGet] - [Route("{id}")]//obj/ - public virtual async Task> GetAsync(Guid id) - { - _logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - UnknownAssembly sourceObj = await _UnknownAssemblyRepository.GetAsync(id); - UnknownAssemblyDto targetObj = ObjectMapper.Map(sourceObj); - ret.Item = targetObj; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 删除实体 - /// - /// 删除主键 - /// 执行成功返回真 - [UnitOfWork] - [HttpDelete] - [Route("{id}")]//delete/ - public virtual async Task DeleteAsync(string id) - { - _logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - List idLst = ServerHelper.GetGuidListByStr(id); - foreach (Guid item in idLst) - { - UnknownAssembly sourceObj = await _UnknownAssemblyRepository.GetAsync(item); - if (sourceObj != null) - { - await _UnknownAssemblyPartRepository.DeleteManyAsync(sourceObj.UnknownAssemblyParts); - await _UnknownAssemblyRepository.DeleteAsync(item); - } - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导出信息 - /// - /// 导出查询条件 - /// 执行成功返回真 - [UnitOfWork(false)] - [HttpPost] - [Route("export")] - public virtual async Task> ExportAsync(QueryUnknownAssemblyDto input) - { - _logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - input.SkipCount = 0; - input.MaxResultCount = 50000; - PagedResultDto query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); - List items = query.Items.ToList(); - //将实体列表转换成excel文件流 - IExporter exporter = new ExcelExporter(); - byte[] byteArr = await exporter.ExportAsByteArray(items); - byteArr.ShouldNotBeNull(); - //将excel文件流保存到服务器端文件系统 - string fileName = string.Format("未知总成_{0}.xlsx", Guid.NewGuid().ToString()); - await _blobContainer.SaveAsync(fileName, byteArr); - - ret.Item = fileName; - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 导入信息 - /// - /// 导入文件流 - /// 执行成功返回真 - [UnitOfWork] - [HttpPost] - [Route("import")] - public virtual async Task ImportAsync(byte[] input) - { - throw new NotImplementedException("暂不实现所有导入"); - } - - /// - /// 添加总成:根据未知总成中的结算件生成新的总成【客户端自己构造】 - /// - /// 总成、分总成、零件三级关系实体 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("add-assembly")] - public virtual async Task AddAssemblyAsync(AddAssemblyCfgDto input) - { - _logger.LogDebug(_errorMessagePrefix + "AddAssemblyAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - //取最大版本 - int maxVersion = await _assemblyCfgErpRepository.MaxAsync(itm => itm.ErpAssemblyVersion); - //插入Erp总成 - List erpIdLst = new List(); - foreach (CreateUpdateAssemblyCfgErpDto erpItm in input.ErpAssemblyCfgList) - { - AssemblyCfgErp obj = ObjectMapper.Map(erpItm); - obj.SetErpAssemblyVersion(++maxVersion); - - foreach (var childObj in obj.Details) - { - childObj.SetId(GuidGenerator.Create()); - } - //重复总成处理 - await RemoveRepeatErpAssembly2(obj); - - AssemblyCfgErp obj2 = await _assemblyCfgErpRepository.InsertAsync(obj); - erpIdLst.Add(obj2.Id); //返回添加的Erp总成Id列表 - } - //插入整车总成配置表 - AssemblyCfgVehicle vehicleAssemblyCfgObj = new AssemblyCfgVehicle(GuidGenerator.Create(), null, null, null, true); - foreach (Guid erpAssemblyId in erpIdLst) - { - vehicleAssemblyCfgObj.AddChildObj(GuidGenerator.Create(), erpAssemblyId); - } - var vehicleAssemblyResu = await _assemblyCfgVehicleRepository.InsertAsync(vehicleAssemblyCfgObj); - //更新单据表【//!!目前仅提供M100】 - //BillM100 m100Bill = await _billM100Repository.GetAsync(input.BillID); - //m100Bill.SetAssemblyID(vehicleAssemblyResu.Id); - //await _billM100Repository.UpdateAsync(m100Bill); - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "AddAssemblyAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 重新解析 - /// - /// 总成、分总成、零件三级关系实体 - /// 执行成功返回真 - [HttpPost] - [UnitOfWork] - [Route("to-parse")] - public virtual async Task ToParseAsync(ToParseInParam input) - { - _logger.LogDebug(_errorMessagePrefix + "ToParseAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - //取选中的 未知总成ID - List selLst = new List(); - if (input.IsSelectAll == true) //全部选中 - { - string sql = @" - with b as - ( - select Id from FisBillR100 where BillStatus =1 - union all - select Id from FisBillM100 where BillStatus =1 - ) - select a.Id from FisUnknownAssembly a where IsDeleted <> 1 and BillID in (select Id from b) - "; - selLst = await _newJitDapperRepository.GetListBySqlAsync(sql, true); - } - else //部分选中 - { - selLst = input.UnknownAssemblyIdList; - } - int matchNum = 0; - int notMatchNum = 0; - List validBillLst = new List(); - - //_msgTransmissionAppServiceTianHe.ClearPub(); - _msgTransmissionAppService.InitPub(); - foreach (Guid selId in selLst) - { - //根据未知总成ID取单据Id - UnknownAssembly unknownAssemblyObj = await _UnknownAssemblyRepository.GetAsync(selId, false); - if (unknownAssemblyObj.ScanPoint == "R100") - { - //根据单据Id取单据信息 - BillR100 r100Obj = await _billR100Repository.GetAsync(unknownAssemblyObj.BillID); - //天合版本的匹配总成算法: - //匹配上时:插入整车总成配置表、更新单据表的整车总成ID字段、返回true - //匹配不上时返回false - bool isMatch = _r100CheckDomainSrv.DoMatchAssembly(r100Obj, true); - if (isMatch) - { - matchNum++; - //validBillLst.Add(r100Obj); - } - else - { - notMatchNum++; - } - - } - else if (unknownAssemblyObj.ScanPoint == "M100") - { - //根据单据Id取单据信息 - BillM100 m100Obj = await _billM100Repository.GetAsync(unknownAssemblyObj.BillID); - //天合版本的匹配总成算法: - //匹配上时:插入整车总成配置表、更新单据表的整车总成ID字段、返回true - //匹配不上时返回false - bool isMatch = _m100CheckDomainService.DoMatchAssembly(m100Obj, true); - if (isMatch) - { - matchNum++; - //validBillLst.Add(m100Obj); - } - else - { - notMatchNum++; - } - } - } //foreach - //调用接口 - //if (validBillLst.Count > 0) - //{ - // ?? 天合现场环境没有部署消息队列服务器 - // FISVersionEto fisVerEto = ConvertToFISVersion(validBillLst); - // await _distributedEventBus.PublishAsync(fisVerEto); - //} - - if (matchNum > 0 && notMatchNum == 0) - { - ret.Status = true; - } - else - { - ret.Status = false; - ret.Message = $"本次共重新解析{matchNum + notMatchNum}条,其中匹配{matchNum}条、不匹配{notMatchNum}条"; - _logger.LogError(ret.Message); - } - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "ToParseAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 系统初始化时使用,批量解析【天合版本】 - /// - /// - /// - [HttpPost] - //[UnitOfWork(true)] - [Route("batch-parse")] - public virtual ObjectResultDto BatchParseAsync(BatchParseParam input) - { - _logger.LogDebug(_errorMessagePrefix + "BatchParseAsync 进入"); - //批量删除未匹配单据 - //string delSql = "delete from FisNotMatchTempBill"; - // _newJitDapperRepository.ExecuteSql(delSql, null, true); - - ObjectResultDto ret = new ObjectResultDto(); - try - { - string sql = @" - with b as - ( - select Id, OnlineTime from FisBillM100 where BillStatus =1 {1} - ) - select top {0} a.Id from FisUnknownAssembly a - join b on a.BillId = b.Id - where a.IsDeleted <> 1 and a.ExtraProperties is null - order by b.OnlineTime desc - "; - int takeCount = input.TakeCount; - string sqlWhere = ""; - if (input.BeginDate != null && input.EndDate != null) - { - sqlWhere = "and OnlineTime between convert(datetime,'{0}', 20) and convert(datetime,'{1}', 20)"; - sqlWhere = string.Format(sqlWhere, ((DateTime)input.BeginDate).ToString("yyyy-MM-dd HH:mm:ss"), ((DateTime)input.EndDate).ToString("yyyy-MM-dd HH:mm:ss")); - } - - sql = string.Format(sql, takeCount, sqlWhere); - List selLst = _newJitDapperRepository.GetListBySql(sql, true); - - int matchNum = 0; - int notMatchNum = 0; - - //_msgTransmissionAppService.ClearPub(); - _msgTransmissionAppService.InitPub(); - foreach (Guid selId in selLst) - { - bool isMatch = OneParseAsync(selId); - if (isMatch) - { - matchNum++; - } - else - { - notMatchNum++; - } - - } //foreach - - ret.Status = true; - ret.Message = $"本次共重新解析{matchNum + notMatchNum}条,其中匹配{matchNum}条、不匹配{notMatchNum}条"; - ret.Item = ret.Message; - _logger.LogDebug(_errorMessagePrefix + "BatchParseAsync 完成:" + ret.Message); - - return ret; - } - catch (Exception ex) - { - ret.Status = false; - ret.Message = _errorMessagePrefix + "BatchParseAsync 执行出错:" + ex; - _logger.LogError(ret.Message); - return ret; - } - } - - /// - /// 根据vin从天合mes系统中取erp总成编码列表 - /// - /// - /// - [HttpGet] - [Route("get-erp-assembly-code")] - public virtual async Task>> GetErpAssemblyCodeByMesAsync(string vin) - { - _logger.LogDebug(_errorMessagePrefix + "GetErpAssemblyCodeByMesAsync 进入"); - ObjectResultDto> ret = new ObjectResultDto>(); - ret.Item = new List(); - try - { - string sql = @" - -SELECT distinct b.ERP总成 as ErpAssemblyCode - FROM [th_productdata_A] a join [th_carData_D] b on a.cCarNo = b.CarID - where a.cVinCode = '{0}' -"; - sql = string.Format(sql, vin); - ret.Item = await _newJitDapperRepository.GetListBySqlAsync(sql, true); - return ret; - } - catch (Exception ex) - { - string errMsg = _errorMessagePrefix + "GetErpAssemblyCodeByMesAsync 执行出错:" + ex; - _logger.LogError(errMsg); - ret.Status = false; - ret.Message = errMsg; - return ret; - } - } - #endregion - - - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionAppService.cs deleted file mode 100644 index 7b1879c3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionAppService.cs +++ /dev/null @@ -1,912 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.MsgBaseData; -using Newtonsoft.Json.Linq; -using System.Threading; -using System.IO; -using WY.NewJit.MsgConversion; -using WY.NewJit.MsgCheck; -using WY.NewJit.Common; -using AutoMapper.Configuration; - -namespace WY.NewJit.MsgTransmission.PaiGe -{ - /// - /// 报文传输应用服务实现 - /// - [Route("api/newjit/msg-transmission")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文传输)] - public class MsgTransmissionAppService : ApplicationService, IMsgTransmissionAppService - { - /// - /// 报文传输方式配置表仓储 - /// - private readonly IRepository _transmissionModeCfgRepository; - - /// - /// 报文接收表仓储 - /// - private readonly IRepository _messageReceiveRepository; - - /// - /// 报文版本配置表 - /// - private readonly IRepository _messageVersionCfgRepository; - - /// - /// 系统内通知 - /// - private readonly LogRemindDomainService _logRemindDomainService; - - /// - /// R100报文解析及校验领域服务 - /// - private readonly R100CheckDomainService _r100CheckDomainSrv; - - /// - /// M100报文解析及校验领域服务 - /// - private readonly M100CheckDomainService _m100CheckDomainService; - - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 配置 - /// - private readonly Microsoft.Extensions.Configuration.IConfiguration _configuration; - - /// - /// R100单据 - /// - private readonly IRepository _billR100Repos; - - /// - /// M100单据 - /// - private readonly IRepository _billM100Repository; - - /// - /// 重复R100 - /// - private readonly IRepository _repeatR100Repos; - - /// - /// 重复M100 - /// - private readonly IRepository _repeatM100Repository; - - /// - /// 排除零件配置 - /// - private readonly IRepository _excludePartCfgRepository; - - /// - /// 未知总成维护 - /// - private readonly IRepository _unknownAssemblyRepository; - - /// - /// 整车总成配置仓库 - /// - private readonly IRepository _assemblyCfgVehicleRepository; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// 字典领域服务 - /// - private readonly DicDomainService _dicDomainService; - - #region 缓存 - /// - /// 报文车型对应派格车型 - /// - private static List _msgToPaiGeVehicleModelList = new List(); - - /// - /// R100派格车型对应生产线 - /// - private static List _r100VehicleModelProductLineList = new List(); - - /// - /// M100派格车型对应生产线 - /// - private static List _m100VehicleModelProductLineList = new List(); - - ///// - ///// 结算件切换列表 - ///// - //private List _partSwitchList = new List(); - - /// - /// 结算件信息列表 - /// - private static List _partCfgList = new List(); - #endregion - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 大众顺序号,写日志时用 - /// - private string _hostSN = ""; - - private int _parseAssemblyCycleCount = 0; - - /// - /// 解析Erp总成时的循环数量 - /// - public int ParseAssemblyCycleCount - { - get - { - if (_parseAssemblyCycleCount == 0) - { - _parseAssemblyCycleCount = _configuration["ConfigDic:ParseAssemblyCycleCount"].TryToInt() ?? 4; - } - return _parseAssemblyCycleCount; - - } - } - - /// - /// 构造函数 - /// - public MsgTransmissionAppService( - IRepository messageReceiveRepository, - IRepository transmissionModeCfgRepository, - IRepository messageVersionCfgRepository, - LogRemindDomainService logRemindDomainService, - //MsgTransmissionDomainService msgTransmissionDomainService, - //MsgConversionDomainService msgConversionDomainService, - R100CheckDomainService r100CheckDomainSrv, - M100CheckDomainService m100CheckDomainService, - ILogger logger, - Microsoft.Extensions.Configuration.IConfiguration configuration, - IRepository billR100Repos, - IRepository billM100Repository, - IRepository repeatR100Repos, - IRepository repeatM100Repository, - IRepository excludePartCfgRepository, - IRepository unknownAssemblyRepository, - IRepository assemblyCfgVehicleRepository, - NewJitDapperRepository newJitDapperRepository, - DicDomainService dicDomainService - ) - { - _messageReceiveRepository = messageReceiveRepository; - _transmissionModeCfgRepository = transmissionModeCfgRepository; - _messageVersionCfgRepository = messageVersionCfgRepository; - _logRemindDomainService = logRemindDomainService; - //_msgTransmissionDomainService = msgTransmissionDomainService; - //_msgConversionDomainService = msgConversionDomainService; - _r100CheckDomainSrv = r100CheckDomainSrv; - _m100CheckDomainService = m100CheckDomainService; - _logger = logger; - _configuration = configuration; - _billR100Repos = billR100Repos; - _billM100Repository = billM100Repository; - _repeatR100Repos = repeatR100Repos; - _repeatM100Repository = repeatM100Repository; - _excludePartCfgRepository = excludePartCfgRepository; - _unknownAssemblyRepository = unknownAssemblyRepository; - _assemblyCfgVehicleRepository = assemblyCfgVehicleRepository; - _newJitDapperRepository = newJitDapperRepository; - _dicDomainService = dicDomainService; - } - - #region 公共方法 - - private PathConfigInfo ReadConfig() - { - PathConfigInfo ret = new PathConfigInfo("", "", "", ""); - #region 取目录配置 - try - { - string receiveDir = _configuration["ConfigDic:PathRead:接收目录"]; - string workDir = _configuration["ConfigDic:PathRead:工作目录"]; - string bakDir = _configuration["ConfigDic:PathRead:备份目录"]; - string errorDir = _configuration["ConfigDic:PathRead:错误目录"]; - ret = new PathConfigInfo( - GetAbsPath(receiveDir), - GetAbsPath(workDir), - GetAbsPath(bakDir), - GetAbsPath(errorDir) - ); - } - catch (Exception ex) - { - string errorMsg = "文件传输-取目录配置时出错:" + ex.Message; - _logRemindDomainService.WriteLogRemind("文件传输-取目录配置", errorMsg, LogTypeEnum.None); - _logger.LogDebug(_errorMessagePrefix + errorMsg); - throw new Exception(errorMsg); - } - #endregion - - #region 创建目录 - try - { - if (!Directory.Exists(ret.ReceivePath)) - { - Directory.CreateDirectory(ret.ReceivePath); - } - if (!Directory.Exists(ret.WorkPath)) - { - Directory.CreateDirectory(ret.WorkPath); - } - if (!Directory.Exists(ret.BakPath)) - { - Directory.CreateDirectory(ret.BakPath); - } - if (!Directory.Exists(ret.ErrorPath)) - { - Directory.CreateDirectory(ret.ErrorPath); - } - } - catch (Exception ex) - { - string errorMsg = "文件传输-创建目录出错:" + ex.Message; - _logRemindDomainService.WriteLogRemind("文件传输-创建目录", errorMsg, LogTypeEnum.None); - _logger.LogDebug(_errorMessagePrefix + errorMsg); - throw new Exception(errorMsg); - } - #endregion - - #region 取报文过滤关键字 - try - { - string fileFilterKeyword = _configuration["ConfigDic:FileFilterKeyword"]; - ret.SetFileFilterKeyword(fileFilterKeyword); - } - catch (Exception ex) - { - string errorMsg = "文件传输-取报文过滤关键字配置时出错或没有配置数据:" + ex.Message; - _logRemindDomainService.WriteLogRemind("文件传输-取报文过滤关键字", errorMsg, LogTypeEnum.None); - throw new Exception(errorMsg); - } - #endregion - return ret; - } - - public void InitPub() - { - try - { - //取全部整车总成ID - string vehicleSql = "select Id from FisAssemblyCfgVehicle v order by CreationTime desc"; - var vehicleAssemblyIdList = _newJitDapperRepository.GetListBySql(vehicleSql, true); - - //取全部零件:按整车总成Id、零件编码分组汇总数量 - const string vehicle2PartSql = @" - select v.Id as VehicleAssemblyId, ep.PartCode, sum(ep.PartNum) as PartNum, null as [Description], 0 as IsKey - from FisAssemblyCfgVehicle v - join FisAssemblyCfgVehicleChild vc on v.Id = vc.AssemblyCfgVehicleId - join FisAssemblyCfgErp e on vc.ErpAssemblyId = e.Id - join FisAssemblyCfgPart ep on e.Id = ep.AssemblyCfgErpId - group by v.Id, ep.PartCode - order by v.Id, ep.PartCode - "; - var vehicle2partList = _newJitDapperRepository.GetListBySql(vehicle2PartSql, true); - - //取Erp总成 - string erpMainsql = "select Id, VehicleModel from FisAssemblyCfgErp where PreviousVersionId is null order by ErpAssemblyVersion, CreationTime desc"; - List erpAssemblyMainList = _newJitDapperRepository.GetListBySql(erpMainsql, true); - - //取所有零件 - string erp2partSql = @" - select e.Id as ErpAssemblyId, ep.Id as PartId, ep.PartCode, ep.PartNum, ep.IsKey - from FisAssemblyCfgErp e - join FisAssemblyCfgPart ep on e.Id = ep.AssemblyCfgErpId - where e.PreviousVersionId is null - "; - var erp2partList = _newJitDapperRepository.GetListBySql(erp2partSql, true); - _r100CheckDomainSrv.InitPub(vehicleAssemblyIdList, vehicle2partList, erpAssemblyMainList, erp2partList); - _m100CheckDomainService.InitPub(vehicleAssemblyIdList, vehicle2partList, erpAssemblyMainList, erp2partList); - - _msgToPaiGeVehicleModelList = _dicDomainService.GetDicItems(DicTypeName.报文车型对应派格车型); - _r100VehicleModelProductLineList = _dicDomainService.GetDicItems(DicTypeName.R100派格车型对应生产线); - _m100VehicleModelProductLineList = _dicDomainService.GetDicItems(DicTypeName.M100派格车型对应生产线); - //结算件切换列表 - //string partSwitchSql = @"select * from FisPartSwitch where ActiveBeginTime is null or ActiveBeginTime <= convert(datetime,'{0}')"; - //partSwitchSql = string.Format(partSwitchSql, ServerHelper.CurrentDateTimeString); - //_partSwitchList = _newJitDapperRepository.GetListBySql(partSwitchSql, true); - //结算件信息列表 - string partCfgSql = @"select Id,PartCode,PartName,PartType,Description,DaXiaoLiangGang,DoorPlankCode,MaterialDescription,PartChildType,SAPMaterialNum from FisPartCfg where 1=1"; - _partCfgList = _newJitDapperRepository.GetListBySql(partCfgSql, true); - - } - catch (Exception ex) - { - string errorMsg = "文件传输-初始化公共数据InitPub时出错:" + ex.Message; - throw new Exception(errorMsg); - } - } - - /// - /// 传输报文 - /// 功能描述:1.将报文移动到工作目录,2.保存到报文接收表,3.将报文移动到备份目录,4.如果中途出错将报文从工作目录移动到错误目录 - /// 提醒:无论什么文件先保存到报文接收表再说,文件过滤交给后续功能(文件转换)处理 - /// - /// - [HttpPost] - [UnitOfWork] - [Route("transmission-message")] - public virtual ObjectResultDto TransmissionMessageAsync(TransmissionParamDto input) - { - ObjectResultDto ret = new ObjectResultDto(); - try - { - PathConfigInfo cfgInfo = ReadConfig(); //初始化目录 - InitPub(); - - //批量读取接收目录文件 - DirectoryInfo receiveDir = new DirectoryInfo(cfgInfo.ReceivePath); - FileInfo[] receiveFileLst = receiveDir.GetFiles(cfgInfo.FileFilterKeyword, SearchOption.TopDirectoryOnly); - if (receiveFileLst.Length == 0) - { - string errorMsg = _errorMessagePrefix + "接收目录中未发现新的JIT文件!"; - _logger.LogDebug(errorMsg); - return ret; - } - try - { - receiveFileLst = receiveFileLst.OrderBy(itm => itm.LastWriteTime).ToArray(); - foreach (FileInfo receiveFileItm in receiveFileLst) - { - string workFileFullName = Path.Combine(cfgInfo.WorkPath, receiveFileItm.Name); - receiveFileItm.MoveTo(workFileFullName, true); - } - } - catch (Exception ex) - { - string errorMsg = $"将多个报文从接收目录移动到工作目录时报错:{ex.Message}"; - _logRemindDomainService.WriteLogRemind("报文传输", ex.Message, LogTypeEnum.None); - _logger.LogError(_errorMessagePrefix + ex.Message); - ret.Message = errorMsg; - ret.Status = false; - return ret; - } - //取重复报文 最大流水号 - int repeatMaxSN = _repeatM100Repository.Max(itm => itm.SerialNum) ?? 0; - //取M100单据 最大流水号 - int m100BillMaxSN = _billM100Repository.Max(itm => itm.SerialNum) ?? 0; - //批量读取工作目录文件 - DirectoryInfo workDir = new DirectoryInfo(cfgInfo.WorkPath); - FileInfo[] workFileLst = workDir.GetFiles(cfgInfo.FileFilterKeyword, SearchOption.TopDirectoryOnly); - //遍历接收文件 - workFileLst = workFileLst.OrderBy(itm => itm.LastWriteTime).ToArray(); - foreach (FileInfo workFileObj in workFileLst) - { - string fileName = workFileObj.Name; - MessageReceive msgReceiveObj = null; - string billType; - BillResult billResObj; - string text; - try - { - #region 文件传输 - //读取工作文件内容 - StreamReader sr = workFileObj.OpenText(); - text = sr.ReadToEnd(); - sr.Close(); - //保存到报文接收表 - msgReceiveObj = new MessageReceive(GuidGenerator.Create(), fileName, text, ReceiveStatusEnum.Received, ServerHelper.CurrentDateTime); - _messageReceiveRepository.InsertAsync(msgReceiveObj, true).GetAwaiter().GetResult(); - //【文件名称是重复的】 - //msgReceiveObj = _messageReceiveRepository.FirstOrDefault(itm => itm.MessageFileName == fileName); - //if (msgReceiveObj != null) //数据库中存在相同报文名,更新 - //{ - // msgReceiveObj.SetMessageContent(text); - // msgReceiveObj.SetReceiveStatus(ReceiveStatusEnum.Received); - // msgReceiveObj.SetReceiveTime(ServerHelper.CurrentDateTime); - // _messageReceiveRepository.UpdateAsync(msgReceiveObj, true).GetAwaiter().GetResult(); - //} - //else - //{ - // msgReceiveObj = new MessageReceive(GuidGenerator.Create(), fileName, text, ReceiveStatusEnum.Received, ServerHelper.CurrentDateTime); - // _messageReceiveRepository.InsertAsync(msgReceiveObj, true).GetAwaiter().GetResult(); - //} - //将报文移动到备份目录 - string bakFileFullName = Path.Combine(cfgInfo.BakPath, fileName); - workFileObj.MoveTo(bakFileFullName, true); - msgReceiveObj.SetReceiveStatus(ReceiveStatusEnum.Archived); - _messageReceiveRepository.UpdateAsync(msgReceiveObj, true).GetAwaiter().GetResult(); - #endregion - } - catch (Exception ex) - { - //如果中途出错,将文件移动到错误目录 - if (workFileObj.Exists) - { - string errorFileFullName = Path.Combine(cfgInfo.ErrorPath, fileName); - workFileObj.MoveTo(errorFileFullName, true); - } - else - { - string bakFileFullName = Path.Combine(cfgInfo.BakPath, fileName); - string errorFileFullName = Path.Combine(cfgInfo.ErrorPath, fileName); - if (File.Exists(bakFileFullName)) - { - File.Move(bakFileFullName, errorFileFullName); - } - } - //如果中途出错,将接收状态更新为失败 - if (msgReceiveObj == null) - { - msgReceiveObj = _messageReceiveRepository.FirstOrDefault(itm => itm.MessageFileName == fileName); - } - if (msgReceiveObj != null) - { - msgReceiveObj.SetReceiveStatus(ReceiveStatusEnum.ArchiveFailed); - _messageReceiveRepository.UpdateAsync(msgReceiveObj, true).GetAwaiter().GetResult(); - } - _logRemindDomainService.WriteLogRemind("报文传输", ex.Message, LogTypeEnum.None); - _logger.LogError(_errorMessagePrefix + ex.Message); - continue; - } - try - { - #region 文件转换 - text = text.Replace("\r\n", "").Replace("\r", "").Replace("\n", ""); - //edi文件中 ’划分1级, + 划分2级 - List> fDataArray = new List>(); - string[] arr1 = text.Split("'"); - foreach (string itm1 in arr1) - { - string[] arr2 = itm1.Split("+"); - List fdataItem = new List(arr2); - fDataArray.Add(fdataItem); - } - //报文格式校验 - var locItems = fDataArray.FirstOrDefault(itm => itm[0] == "LOC"); - if (locItems == null) - { - string errorMsg = "报文格式错误,报文中没有LOC" + fileName; - throw new Exception(errorMsg); - } - //单据配置校验:R100、M100 - billType = locItems[2]; - if (billType != "R100" && billType != "M100") - { - string errorMsg = "报文类别错误:" + billType; - throw new Exception(errorMsg); - } - //将报文内容转换成BillR100或BillM100 - billResObj = ConvertToBill(msgReceiveObj, billType); - #endregion - - #region 更新车型、生产线 - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - { - if (billResObj.R100Bill != null) - { - var bill = billResObj.R100Bill; - //报文车型转换为派格车型:3H 转 CC;FY 转 Q5 - var obj1 = _msgToPaiGeVehicleModelList.FirstOrDefault(itm => itm.DicItemCode == bill.VehicleModelCode); - if (obj1 != null) - { - string paigeVehicleModel = obj1.DicItemName; // CC - bill.SetVehicleModelCode(paigeVehicleModel); - //根据车型取对应生产线 - var obj2 = _r100VehicleModelProductLineList.FirstOrDefault(itm => itm.DicItemCode == paigeVehicleModel); - if (obj2 != null) - { - string productLine = obj2.DicItemName; - bill.SetProductLine(productLine); - } - else - { - string errorMsg = $"派格车型{bill.VehicleModelCode}没有对应的生产线!"; - _logRemindDomainService.WriteLogRemind(bill.KNR, errorMsg, LogTypeEnum.R100); - _logger.LogError(_errorMessagePrefix + errorMsg); - continue; - } - } - else - { - string errorMsg = $"报文车型{bill.VehicleModelCode}没有对应的派格车型!"; - _logRemindDomainService.WriteLogRemind(bill.KNR, errorMsg, LogTypeEnum.R100); - _logger.LogError(_errorMessagePrefix + errorMsg); - continue; - - } - } - else if (billResObj.M100Bill != null) - { - var bill = billResObj.M100Bill; - //车型转换:3H 转 CC - var obj1 = _msgToPaiGeVehicleModelList.FirstOrDefault(itm => itm.DicItemCode == bill.VehicleModelCode); - if (obj1 != null) - { - string paigeVehicleModel = obj1.DicItemName; // CC - bill.SetVehicleModelCode(paigeVehicleModel); - //根据车型取对应生产线 - var obj2 = _m100VehicleModelProductLineList.FirstOrDefault(itm => itm.DicItemCode == paigeVehicleModel); - if (obj2 != null) - { - string productLine = obj2.DicItemName; - bill.SetProductLine(productLine); - } - else - { - string errorMsg = $"派格车型{bill.VehicleModelCode}没有对应的生产线!"; - _logRemindDomainService.WriteLogRemind(bill.KNR, errorMsg, LogTypeEnum.M100); - _logger.LogError(_errorMessagePrefix + errorMsg); - continue; - } - } - else - { - string errorMsg = $"报文车型{bill.VehicleModelCode}没有对应的派格车型!"; - _logRemindDomainService.WriteLogRemind(bill.VIN, errorMsg, LogTypeEnum.M100); - _logger.LogError(_errorMessagePrefix + errorMsg); - continue; - } - } - } - #endregion - - #region 结算件切换 - //if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - //{ - // if (billResObj.R100Bill != null) - // { - // //将R100中的切换源 替换为 切换目标 - // foreach (BillR100Part partItm in billResObj.R100Bill.BillR100Parts) - // { - // PartSwitch switchObj = _partSwitchList.FirstOrDefault(itm => itm.SourcePartCode == partItm.PartCode); - // if (switchObj != null) - // { - // partItm.PartCode = switchObj.TargetPartCode; - // } - // } - // } - // else if (billResObj.M100Bill != null) - // { - // //将M100中的切换源 替换为 切换目标 - // foreach (BillR100Part partItm in billResObj.R100Bill.BillR100Parts) - // { - // PartSwitch switchObj = _partSwitchList.FirstOrDefault(itm => itm.SourcePartCode == partItm.PartCode); - // if (switchObj != null) - // { - // partItm.PartCode = switchObj.TargetPartCode; - // } - // } - // } - //} - #endregion - - #region 区分门板和柱护板 - //根据物料组区分门板、柱护板, 柱护板不参与匹配,但是参与发货 - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - { - if (billResObj.R100Bill != null) - { - if (billResObj.R100Bill.VehicleModelCode == "Q5") - { - foreach (BillR100Part partItm in billResObj.R100Bill.BillR100Parts) - { - PartCfg partObj = _partCfgList.FirstOrDefault(itm => itm.PartCode == partItm.PartCode); - if (partObj != null) - { - partItm.Description = partObj.PartType == "2" ? "柱护板" : "门板"; - } - else - { - string errorMsg = $"R100结算件{partItm.PartCode}在结算件信息表中不存在!KNR:{billResObj.R100Bill.KNR}"; - throw new Exception(errorMsg); - } - } - } - else //除Q5,其它车型没有柱护板 - { - foreach (BillR100Part partItm in billResObj.R100Bill.BillR100Parts) - { - partItm.Description = "门板"; - } - } - } - else if (billResObj.M100Bill != null) - { - if (billResObj.M100Bill.VehicleModelCode == "Q5") - { - foreach (BillM100Part partItm in billResObj.M100Bill.BillM100Parts) - { - PartCfg partObj = _partCfgList.FirstOrDefault(itm => itm.PartCode == partItm.PartCode); - if (partObj != null) - { - partItm.Description = partObj.PartType == "2" ? "柱护板" : "门板"; - } - else - { - string errorMsg = $"M100结算件{partItm.PartCode}在结算件信息表中不存在!VIN:{billResObj.M100Bill.VIN}"; - throw new Exception(errorMsg); - } - } - } - else - { - foreach (BillM100Part partItm in billResObj.M100Bill.BillM100Parts) - { - partItm.Description = "门板"; - } - } - } - } - #endregion - - #region KNR前缀加两位年、预批量 - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - { - if (billResObj.R100Bill != null) - { - var billObj = billResObj.R100Bill; - if (billObj.KNR.Length == 8) - { - string yy = ((DateTime)billObj.OnlineTime).ToString("yy"); - billObj.KNR = yy + billObj.KNR; - } - if (billObj.KNR.Length == 10 && billObj.KNR.Substring(6, 1) == "7") - { - billObj.Description = "预批量"; - } - - } - else if (billResObj.M100Bill != null) - { - var billObj = billResObj.M100Bill; - if (billObj.KNR.Length == 8) - { - string yy = ((DateTime)billObj.OnlineTime).ToString("yy"); - billObj.KNR = yy + billObj.KNR; - } - if (billObj.KNR.Length == 10 && billObj.KNR.Substring(6, 1) == "7") - { - billObj.Description = "预批量"; - } - } - } - #endregion - } - catch (Exception ex) - { - _logRemindDomainService.WriteLogRemind("报文转换", ex.Message, LogTypeEnum.None); - _logger.LogError(_errorMessagePrefix + ex.Message); - continue; - } - - try - { - #region 报文解析 - if (billType == "R100") - { - _r100CheckDomainSrv.DoCheckR100(msgReceiveObj, billResObj.R100Bill, ref repeatMaxSN); - } - else if (billType == "M100") - { - _m100CheckDomainService.DoCheckM100Bill(msgReceiveObj, billResObj.M100Bill, ref repeatMaxSN, ref m100BillMaxSN); - } - #endregion - } - catch (Exception ex) - { - _logRemindDomainService.WriteLogRemind("报文解析", ex.Message, LogTypeEnum.None); - _logger.LogError(_errorMessagePrefix + ex.Message); - continue; - } - - } //foreach - } - catch (Exception ex) - { - string errorMsg = "调用TransmissionMessageAsync方法时报错:" + ex.Message; - _logRemindDomainService.WriteLogRemind("报文传输", errorMsg, LogTypeEnum.None); - _logger.LogError(_errorMessagePrefix + errorMsg); - ret.Message = errorMsg; - ret.Status = false; - return ret; - } - return ret; - } - #endregion - - #region 私有方法 - private string GetAbsPath(string sourcePath) - { - if (sourcePath.Trim().StartsWith(".")) - { - string childPath = sourcePath.Trim().Replace("/", "\\").Replace(".\\", ""); - string rootPath = System.Environment.CurrentDirectory; - string ret = Path.Combine(rootPath, childPath); - return ret; - } - else - { - return sourcePath; - } - } - - /// - /// 将报文内容转换成BillR100或BillM100 - /// - /// - /// - /// - private BillResult ConvertToBill(MessageReceive msgReceObj, string billType) - { - BillResult ret = new BillResult(); - try - { - string supplier = ""; //供应商 - string sequenceNumber = ""; //大众顺序号 - string onlineTime = ""; //上线时间 - string vinCode = ""; //底盘号 - string orderNumberKNR = ""; //订单号KNR - string vehicleModel = ""; //车型码 - string productLine = "";//生产线 - string collectionPoint = ""; //采集点 - List partCodeList = new List();//零件代码 - List qtyList = new List();//零件数量 - - //edi文件中 ’划分1级, + 划分2级 - string text = msgReceObj.MessageContent.Replace("\r\n", "").Replace("\r", "").Replace("\n", ""); - string[] arr1 = text.Split("'"); - - foreach (var sData1 in arr1) - { - if (sData1.Trim() == "") continue; - - var arr2 = sData1.Split('+'); - - var sType = arr2[0]; - switch (sType) - { - case "UNB": - supplier = arr2[3].Right(3);//取供应商"OCQFAW-VW4FF" - break; - case "SEQ": - sequenceNumber = arr2[2]; - break; - case "DTM": - if (arr2[1].Split(':')[0] == "194") - { - onlineTime = arr2[1].Split(':')[1]; //上线时间"194:202107120831:203" - } - break; - case "GIR": - if (arr2[1] == "4" && arr2.Length == 5) - { - vinCode = arr2[2].Split(':')[0].Trim(); - orderNumberKNR = arr2[3].Split(':')[0].Trim(); - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - { - //GIR + 4 + LFV3B23H M3: VV + 2102420493: AN + 210 H9: TMA 'LOC+54+R100' - //3 排量;B 车身;2 发动机;3H 车型 - vehicleModel = arr2[2].Split(':')[0].Trim().Substring(6, 2); //取 3H - } - else - { - //GIR + 4 + LFV3B23H M3: VV + 2102420493: AN + 210 H9: TMA 'LOC+54+R100' - vehicleModel = arr2[4].Split(':')[0].Trim(); //取 210 H9 - } - } - break; - case "LOC": - if (arr2[1].Split(':')[0] == "54") - { - collectionPoint = arr2[2]; - } - break; - case "LIN": - string partCode = arr2[3].Split(':')[0].Trim(); - partCode = partCode.Replace(" ", " "); - partCodeList.Add(partCode); - break; - case "QTY": - int? qty = arr2[1].Split(':')[1].TryToInt(); - qtyList.Add(qty); - break; - default: - continue; - } - }//foreach - - if (billType == "R100") - { - BillR100 r100Obj = new BillR100( - - GuidGenerator.Create(), - msgReceObj.Id, //报文接收ID - sequenceNumber.TryToInt(), - orderNumberKNR, - null, //总成ID - onlineTime.yyyyMMddHHmmssToDateTime(), //上线时间 - msgReceObj.ReceiveTime, - vehicleModel, //车型代码(取通用字典) - (onlineTime.yyyyMMddHHmmssToDateTime()).Year.ToString(), - BillStatusEnum.None - ); - for (int i = 0; i < partCodeList.Count; i++) - { - r100Obj.AddChildObj(GuidGenerator.Create(), partCodeList[i], qtyList[i] ?? 0); - } - ret.R100Bill = r100Obj; - - } - else if (billType == "M100") - { - int maxSN = _billM100Repository.Max(itm => itm.SerialNum) ?? 0; - - BillM100 m100Obj = new BillM100( - GuidGenerator.Create(), - msgReceObj.Id, //报文接收ID - maxSN + 1, //流水号 - sequenceNumber.TryToInt(), - orderNumberKNR, - vinCode, //底牌号 - null, //总成ID - onlineTime.yyyyMMddHHmmssToDateTime(), //上线时间 - vehicleModel, //车型代码(取通用字典) - (onlineTime.yyyyMMddHHmmssToDateTime()).Year.ToString(), - msgReceObj.ReceiveTime, - BillStatusEnum.None - ); - - for (int i = 0; i < partCodeList.Count; i++) - { - m100Obj.AddChildObj(GuidGenerator.Create(), partCodeList[i], qtyList[i] ?? 0); - } - ret.M100Bill = m100Obj; - } - return ret; - } - catch (Exception ex) - { - string errorMsg = $"调用ConvertToBill方法时报错,文件名称:{msgReceObj.MessageFileName},错误信息:" + ex.Message; - throw new Exception(errorMsg); - } - - } - - #endregion - - } - - public class BillResult - { - public BillR100 R100Bill { get; set; } - public BillM100 M100Bill { get; set; } - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionWorker.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionWorker.cs deleted file mode 100644 index 5fe4502c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/PaiGe/MsgTransmissionWorker.cs +++ /dev/null @@ -1,81 +0,0 @@ -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; -using Quartz; -using System; -using System.Collections.Generic; -using System.Configuration; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.BackgroundWorkers.Quartz; -using Volo.Abp.Threading; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgTransmission.PaiGe -{ - public class MsgTransmissionWorker : QuartzBackgroundWorkerBase - { - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 报文传输应用服务(派格版) - /// - private MsgTransmissionAppService _msgTransmissionAppService; - - /// - /// 配置 - /// - private readonly Microsoft.Extensions.Configuration.IConfiguration _configuration; - - - public MsgTransmissionWorker( - ILogger logger, - MsgTransmissionAppService msgTransmissionAppService, - IConfiguration configuration - ) - { - _logger = logger; - _msgTransmissionAppService = msgTransmissionAppService; - _configuration = configuration; - //取配置文件 - ConfigDic.CurrentVersion = _configuration["ConfigDic:CurrentVersion"]; - ConfigDic.MsgTransmissionWorker_TakeRecordCount = configuration["ConfigDic:MsgTransmissionWorker:TakeRecordCount"].TryToIntZero(); - int intervalInMinutes = configuration["ConfigDic:MsgTransmissionWorker:IntervalInMinutes"].TryToIntZero(); - if (_configuration["ConfigDic:MsgTransmissionWorker:IsStop"].ToLower() == "true") - { - AutoRegister = false; - } - - JobDetail = JobBuilder.Create(). - WithIdentity(nameof(MsgTransmissionWorker)). - Build(); - - Trigger = TriggerBuilder.Create() - .StartNow() - .WithIdentity(nameof(MsgTransmissionWorker)) - .WithSimpleSchedule(s => s.WithIntervalInMinutes(intervalInMinutes) - .RepeatForever() - .WithMisfireHandlingInstructionIgnoreMisfires()) - .Build(); - - ScheduleJob = async scheduler => - { - if (!await scheduler.CheckExists(JobDetail.Key)) - { - await scheduler.ScheduleJob(JobDetail, Trigger); - } - }; - } - - public override Task Execute(IJobExecutionContext context) - { - _logger.LogDebug("开始执行通用版本后台工作者Quartz!"); - int takeRecCnt = _configuration["ConfigDic:MsgTransmissionWorker:TakeRecordCount"].TryToIntZero(); - var ret = _msgTransmissionAppService.TransmissionMessageAsync(new TransmissionParamDto(takeRecCnt)); - return Task.CompletedTask; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncEventHandler.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncEventHandler.cs deleted file mode 100644 index 17107c87..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncEventHandler.cs +++ /dev/null @@ -1,145 +0,0 @@ -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.EventBus.Distributed; -using Volo.Abp.Guids; -using Volo.Abp.ObjectMapping; -using Volo.Abp.Uow; -using WY.NewJit.MsgBaseData; - -namespace WY.NewJit.MsgTransmission.TianHe -{ - - public class AssemblySyncEventHandler : IDistributedEventHandler, ITransientDependency - { - - /// - /// 日志提醒 - /// - private readonly LogRemindDomainService _logRemindDomainService; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// ERP总成仓储 - /// - private readonly IRepository _assemblyCfgErpRepository; - - /// - /// 总成领域服务 - /// - private readonly AssemblyDomainService _assemblyDomainService; - - ///// - ///// AutoMapper对象映射 - ///// - //private readonly IObjectMapper _objectMapper; - - /// - /// Guid生成 - /// - private readonly IGuidGenerator _guidGenerator; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - public AssemblySyncEventHandler( - LogRemindDomainService logRemindDomainService, - ILogger logger, - IRepository assemblyCfgErpRepository, - //IObjectMapper objectMapper - IGuidGenerator guidGenerator, - AssemblyDomainService assemblyDomainService - ) - { - _logRemindDomainService = logRemindDomainService; - _logger = logger; - _assemblyCfgErpRepository = assemblyCfgErpRepository; - //_objectMapper = objectMapper; - _guidGenerator = guidGenerator; - _assemblyDomainService = assemblyDomainService; - } - - [UnitOfWork] - public virtual async Task HandleEventAsync(AssemblySyncEto eventData) - { - _logger.LogDebug(_errorMessagePrefix + "天合版本总成配置同步AssemblySyncEventHandler.HandleEventAsync 进入"); - try - { - if (eventData.OperationType == AssemblySyncOperationTypeEnum.Add) - { - int maxVer = _assemblyCfgErpRepository.Any() ? _assemblyCfgErpRepository.Max(itm => itm.ErpAssemblyVersion) : 0; //取最大版本 - - await _assemblyDomainService.ClearPub(maxVer); - - List sourceLst = eventData.AssemblyCfgList; - foreach (var sourceItm in sourceLst) - { - AssemblyCfgErp targetObj = new AssemblyCfgErp( - _guidGenerator.Create(), - sourceItm.ErpAssemblyCode, - sourceItm.ErpAssemblyName, - ++maxVer - ); - foreach (var srcDetailItm in sourceItm.Details) - { - targetObj.AddChildObject( - _guidGenerator.Create(), - srcDetailItm.PartCode, - srcDetailItm.PartNum, - srcDetailItm.Description, - srcDetailItm.IsKey - ); - } - List repeatIdLst = await _assemblyDomainService.FindRepeatErpAssembly(targetObj); //判断结算件配置重复 - if (repeatIdLst == null || repeatIdLst.Count == 0) //没有重复,直接插入 - { - AssemblyCfgErp obj2 = await _assemblyCfgErpRepository.InsertAsync(targetObj); - } - else //存在重复 - { - foreach (ErpAssembly2 item in repeatIdLst) - { - if (item.ErpAssemblyCode == targetObj.ErpAssemblyCode) //Erp总成编码相同 - { - //忽略 - } - else - { - //插入,更新旧版本标志,报警 - await _assemblyDomainService.UpdatePreviousVersionId(item.ErpAssemblyId, targetObj.Id); //更新历史数据PreviousVersionId字段 - AssemblyCfgErp obj2 = await _assemblyCfgErpRepository.InsertAsync(targetObj); - _logRemindDomainService.WriteLogRemind("总成接收", $"总成编码{targetObj.ErpAssemblyCode}与{item.ErpAssemblyCode}结算件配置完全相同,总成编码不同结算件配置应该不同!"); - } - } - } - } - } - _logger.LogDebug(_errorMessagePrefix + "天合版本总成配置同步AssemblySyncEventHandler.HandleEventAsync 完成"); - } - catch (Exception ex) - { - string errorMsg = _errorMessagePrefix + "天合版本总成配置同步时出错:" + ex; - _logger.LogDebug(errorMsg); - _logRemindDomainService.WriteLogRemind("总成配置同步", errorMsg, LogTypeEnum.None); - } - } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncWorker.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncWorker.cs deleted file mode 100644 index 64348453..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/AssemblySyncWorker.cs +++ /dev/null @@ -1,102 +0,0 @@ -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; -using Quartz; -using System; -using System.Collections.Generic; -using System.Configuration; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.BackgroundWorkers.Quartz; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Guids; -using Volo.Abp.Threading; -using Volo.Abp.Uow; -using WY.NewJit.Common; -using WY.NewJit.MsgBaseData; -using WY.NewJit.MsgCheck; -using WY.NewJit.MsgCheck.UnknownAssemblys; - -namespace WY.NewJit.MsgTransmission.TianHe -{ - public class AssemblySyncWorker : QuartzBackgroundWorkerBase - { - /// - /// 配置 - /// - private readonly IConfiguration _configuration; - - /// - /// 日志提醒 - /// - private readonly LogRemindDomainService _logRemindDomainService; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 总成领域服务 - /// - private readonly AssemblyDomainService _assemblyDomainService; - - private readonly AssemblyCfgErpAppService _assemblyCfgErpAppService; - - - public AssemblySyncWorker( - IConfiguration configuration, - LogRemindDomainService logRemindDomainService, - ILogger logger, - IRepository assemblyCfgErpRepository, - IGuidGenerator guidGenerator, - AssemblyDomainService assemblyDomainService, - AssemblyCfgErpAppService assemblyCfgErpAppService - ) - { - _configuration = configuration; - _logRemindDomainService = logRemindDomainService; - _logger = logger; - _assemblyDomainService = assemblyDomainService; - _assemblyCfgErpAppService = assemblyCfgErpAppService; - - int intervalInMinutes = configuration["ConfigDic:AssemblySyncWorker:IntervalInMinutes"].TryToIntZero(); - - if (_configuration["ConfigDic:AssemblySyncWorker:IsStop"].ToLower() == "true") - { - AutoRegister = false; - } - - JobDetail = JobBuilder.Create(). - WithIdentity(nameof(AssemblySyncWorker)). - Build(); - - Trigger = TriggerBuilder.Create() - .StartNow() - .WithIdentity(nameof(AssemblySyncWorker)) - .WithSimpleSchedule(s => s.WithIntervalInMinutes(intervalInMinutes) - .RepeatForever() - .WithMisfireHandlingInstructionIgnoreMisfires()) - .Build(); - - ScheduleJob = async scheduler => - { - if (!await scheduler.CheckExists(JobDetail.Key)) - { - await scheduler.ScheduleJob(JobDetail, Trigger); - } - }; - } - - //[UnitOfWork(false)] - public override Task Execute(IJobExecutionContext context) - { - _logger.LogDebug("开始执行后台工作者Quartz-AssemblySyncWorker!!"); - int takeRecCnt = _configuration["ConfigDic:AssemblySyncWorker:TakeRecordCount"].TryToIntZero(); - //var ret = _assemblyDomainService.SyncErpAssemblyAsync(takeRecCnt); - _assemblyCfgErpAppService.SyncErpAssemblyAsync(takeRecCnt); - - return Task.CompletedTask; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/BatchParseWorker.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/BatchParseWorker.cs deleted file mode 100644 index aaac4ade..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/BatchParseWorker.cs +++ /dev/null @@ -1,95 +0,0 @@ -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; -using Quartz; -using System; -using System.Collections.Generic; -using System.Configuration; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.BackgroundWorkers.Quartz; -using Volo.Abp.Threading; -using Volo.Abp.Uow; -using WY.NewJit.Common; -using WY.NewJit.MsgCheck; -using WY.NewJit.MsgCheck.UnknownAssemblys; - -namespace WY.NewJit.MsgTransmission.TianHe -{ - [DisallowConcurrentExecution] - public class BatchParseWorker : QuartzBackgroundWorkerBase - { - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 报文传输应用服务(天合版) - /// - private UnknownAssemblyAppService _unknownAssemblyAppService; - - /// - /// 配置 - /// - private readonly IConfiguration _configuration; - - - public BatchParseWorker( - ILogger logger, - UnknownAssemblyAppService unknownAssemblyAppService, - IConfiguration configuration - ) - { - _logger = logger; - _unknownAssemblyAppService = unknownAssemblyAppService; - _configuration = configuration; - int intervalInMinutes = configuration["ConfigDic:BatchParseWorker:IntervalInMinutes"].TryToIntZero(); - - //AutoRegister = false; //?? 初始化时用,平时AutoRegister设置为false - - - JobDetail = JobBuilder.Create(). - WithIdentity(nameof(BatchParseWorker)). - Build(); - - Trigger = TriggerBuilder.Create() - .StartNow() - .WithIdentity(nameof(BatchParseWorker)) - .WithSimpleSchedule(s => s.WithIntervalInMinutes(intervalInMinutes) - .RepeatForever() - .WithMisfireHandlingInstructionIgnoreMisfires()) - .Build(); - - ScheduleJob = async scheduler => - { - if (!await scheduler.CheckExists(JobDetail.Key)) - { - await scheduler.ScheduleJob(JobDetail, Trigger); - } - }; - } - - //[UnitOfWork(false)] - public override Task Execute(IJobExecutionContext context) - { - if (_configuration["ConfigDic:BatchParseWorker:IsStop"].ToLower() == "true") - { - return Task.CompletedTask; - } - _logger.LogDebug("开始执行后台工作者Quartz-BatchParseWorker!!"); - BatchParseParam input = new BatchParseParam(); - input.TakeCount = _configuration["ConfigDic:BatchParseWorker:TakeRecordCount"].TryToIntZero(); - string beginDate = _configuration["ConfigDic:BatchParseWorker:FilterBeginDate"]; - string endDate = _configuration["ConfigDic:BatchParseWorker:FilterEndDate"]; - if (beginDate.IsNullOrEmpty() == false && endDate.IsNullOrEmpty() == false) - { - input.BeginDate = beginDate.TryToDateTime(); - input.EndDate = endDate.TryToDateTime(); - _logger.LogDebug($"BatchParseWorker过滤起止日期:{beginDate}-{endDate}"); - } - var ret = _unknownAssemblyAppService.BatchParseAsync(input); - return Task.CompletedTask; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionAppServiceTianHe.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionAppServiceTianHe.cs deleted file mode 100644 index 1b191e62..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionAppServiceTianHe.cs +++ /dev/null @@ -1,994 +0,0 @@ -using Magicodes.ExporterAndImporter.Core; -using Magicodes.ExporterAndImporter.Excel; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Application.Dtos; -using Volo.Abp.Application.Services; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Volo.Abp.Domain.Repositories.Dapper; -using WY.NewJit.EntityFrameworkCore; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.MsgBaseData; -using Newtonsoft.Json.Linq; -using System.Threading; -using System.IO; -using WY.NewJit.MsgConversion; -using WY.NewJit.MsgCheck; -using WY.NewJit.TianHe; -using Newtonsoft.Json; -using WY.NewJit.Common; -using WY.NewJit.SettleAccountFis; -using Volo.Abp.EventBus.Distributed; -using AutoMapper.Configuration; - -namespace WY.NewJit.MsgTransmission -{ - /// - /// 天合版报文传输应用服务实现 - /// - [Route("api/newjit/msg-transmission-tian-he")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文传输)] - public class MsgTransmissionAppServiceTianHe : ApplicationService, IMsgTransmissionAppService - { - /// - /// 日志提醒 - /// - private readonly LogRemindDomainService _logRemindDomainService; - - /// - /// Dapper仓储 - /// - private readonly NewJitDapperRepository _newJitDapperRepository; - - /// - /// M100单据仓储 - /// - private readonly IRepository _billM100Repository; - - /// - /// 天合仓储 - /// - private readonly IRepository _productdataRepository; - - /// - /// 整车总成配置仓库 - /// - private readonly IRepository _assemblyCfgVehicleRepository; - - /// - /// 未知总成仓储 - /// - private readonly IRepository _unknownAssemblyRepository; - - /// - /// 事物总线仓库 - /// - private readonly IDistributedEventBus _distributedEventBus; - - /// - /// 日志 - /// - private ILogger _logger; - - private readonly IRepository _repeatM100Repository; - - /// - /// 未匹配不重复的临时单据 - /// - private readonly IRepository _notMatchTempBillRepository; - - /// - /// 配置文件 - /// - private readonly Microsoft.Extensions.Configuration.IConfiguration _configuration; - - private readonly TianHeDapperRepository _tianheDapperRepository; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 大众顺序号,写日志时用 - /// - private string _hostSN = ""; - - private int _parseAssemblyCycleCount = 0; - - /// - /// 解析Erp总成时的循环数量 - /// - public int ParseAssemblyCycleCount - { - get - { - if (_parseAssemblyCycleCount == 0) - { - _parseAssemblyCycleCount = _configuration["ConfigDic:ParseAssemblyCycleCount"].TryToInt() ?? 4; - } - return _parseAssemblyCycleCount; - - } - } - - /// - /// 整车总成Id列表 - /// - List _vehicleAssemblyIdList = new List(); - - /// - /// 整车vs零件列表 - /// - List _vehicle2partList = new List(); - - /// - /// Erp总成Id列表 - /// - List _erpAssemblyIdList = new List(); - - /// - /// Erp总成vs零件列表 - /// - List _erp2partList = new List(); - - private List _preBatchList = new List(); - - /// - /// 构造函数 - /// - public MsgTransmissionAppServiceTianHe( - LogRemindDomainService logRemindDomainService, - NewJitDapperRepository newJitDapperRepository, - IRepository billM100Repository, - IRepository productdataRepository, - IRepository assemblyCfgVehicleRepository, - IRepository unknownAssemblyRepository, - IDistributedEventBus distributedEventBus, - ILogger logger, - IRepository repeatM100Repository, - Microsoft.Extensions.Configuration.IConfiguration configuration, - IRepository notMatchTempBillRepository, - TianHeDapperRepository tianheDapperRepository - ) - { - _logRemindDomainService = logRemindDomainService; - _newJitDapperRepository = newJitDapperRepository; - _billM100Repository = billM100Repository; - _productdataRepository = productdataRepository; - _assemblyCfgVehicleRepository = assemblyCfgVehicleRepository; - _unknownAssemblyRepository = unknownAssemblyRepository; - _distributedEventBus = distributedEventBus; - _logger = logger; - _repeatM100Repository = repeatM100Repository; - _configuration = configuration; - _notMatchTempBillRepository = notMatchTempBillRepository; - _tianheDapperRepository = tianheDapperRepository; - } - - #region 公共方法 - /// - /// 报文传输(天合版) - /// - /// - [HttpPost] - [UnitOfWork(isTransactional: false)] - [Route("transmission-message")] - public virtual ObjectResultDto TransmissionMessageAsync(TransmissionParamDto input) - { - _logger.LogDebug(_errorMessagePrefix + "抽取报文数据DoTransmissionMessageAsync 进入"); - ObjectResultDto ret = new ObjectResultDto(); - try - { - #region 取增量天合数据 - //取最大的 大众顺序号 - DateTime? maxReceiveTime = _billM100Repository.Max(itm => itm.ReceiveTime); - if (maxReceiveTime == null) - { - throw new Exception("最大接收时间不能为空!"); - } - //取product_A增量的、唯一的、排序的、指定数量的VIN号 - string vinSql = @" -with p as -( - select cOpertime,cVinCode from productdata_A group by cOpertime,cVinCode -) -select cVinCode from -( -select ROW_NUMBER() OVER(order by cOpertime) as row_number,cOpertime,cVinCode - from p - where cOpertime > '{0}' -) t -where row_number between 1 and {1} -"; - vinSql = string.Format(vinSql, maxReceiveTime.DateTime_yyyyMMddHHmmss(), input.TakeRecordCount); - List vinLst = _tianheDapperRepository.GetListBySql(vinSql); - if (vinLst.Count == 0) - { - _logger.LogDebug(_errorMessagePrefix + $"没有大于{maxReceiveTime}的报文"); - ret.Status = true; - return ret; - } - ClearPub(); - //取增量的天合数据 - List productDataLst = _productdataRepository - .Where(itm => vinLst.Contains(itm.cVinCode)) - .OrderBy(itm => itm.cOpertime) - .ToList(); - - #endregion - - //取重复报文 最大流水号 - int repeatMaxSN = _repeatM100Repository.Max(itm => itm.SerialNum) ?? 0; - //取M100单据 最大流水号 - int billMaxSN = _billM100Repository.Max(itm => itm.SerialNum) ?? 0; - //List validBillLst = new List(); - try - { - _logger.LogDebug(_errorMessagePrefix + "遍历增量的大众顺序号 开始"); - //遍历增量的大众顺序号 - foreach (string vinCode in vinLst) - { - List productFilterLst = productDataLst.Where(itm => itm.cVinCode == vinCode).ToList(); - OneMessageResult oneMsgResult = DoOneMessage(productFilterLst, repeatMaxSN, billMaxSN); - repeatMaxSN = oneMsgResult.repeatMaxSN; - billMaxSN = oneMsgResult.billMaxSN; - } //foreach - _logger.LogDebug(_errorMessagePrefix + "遍历增量的大众顺序号 结束"); - } - finally - { - //调用接口 - //if (validBillLst.Count > 0) - //{ - // ?? 天合现场环境没有部署消息队列服务器 - // _logger.LogDebug(_errorMessagePrefix + "调用FISVersionEto接口开始!"); - // FISVersionEto fisVerEto = ConvertToFISVersion(validBillLst); - // _distributedEventBus.PublishAsync(fisVerEto); - // _logger.LogDebug(_errorMessagePrefix + "调用FISVersionEto接口结束!!"); - //} - } - - _logger.LogDebug(_errorMessagePrefix + "抽取报文数据DoTransmissionMessageAsync 完成"); - ret.Status = true; - return ret; - } - catch (Exception ex) - { - string errorMsg = _errorMessagePrefix + "抽取报文数据DoTransmissionMessageAsync 出错:" + ex; - _logger.LogError(errorMsg); - _logRemindDomainService.WriteLogRemind("抽取报文数据", errorMsg, LogTypeEnum.None); - ret.Status = false; - ret.Message = errorMsg; - return ret; - } - } - - /// - /// 匹配总成:匹配上时插入整车总成配置表、更新单据表的整车总成ID字段、单据状态字段,匹配不上时返回false - /// - /// - /// - [HttpPost] - [UnitOfWork] - [Route("parse-assembly")] - public virtual bool MatchAssembly(BillM100 m100Bill) - { - return DoMatchAssembly(m100Bill, true); - } - - [HttpPost] - [Route("clear-pub")] - public virtual void ClearPub() - { - _vehicleAssemblyIdList.Clear(); - _vehicle2partList.Clear(); - _erpAssemblyIdList.Clear(); - _erp2partList.Clear(); - _preBatchList.Clear(); - - //初始化整车总成 - if (_vehicleAssemblyIdList.Count == 0) - { - //取全部整车总成ID - string vehicleSql = "select Id from FisAssemblyCfgVehicle v order by CreationTime desc"; - _vehicleAssemblyIdList = _newJitDapperRepository.GetListBySql(vehicleSql, true); - - //取全部零件:按整车总成Id、零件编码分组汇总数量 - const string vehicle2PartSql = @" - select v.Id as VehicleAssemblyId, ep.PartCode, sum(ep.PartNum) as PartNum, null as [Description], 0 as IsKey - from FisAssemblyCfgVehicle v - join FisAssemblyCfgVehicleChild vc on v.Id = vc.AssemblyCfgVehicleId - join FisAssemblyCfgErp e on vc.ErpAssemblyId = e.Id - join FisAssemblyCfgPart ep on e.Id = ep.AssemblyCfgErpId - group by v.Id, ep.PartCode - order by v.Id, ep.PartCode - "; - _vehicle2partList = _newJitDapperRepository.GetListBySql(vehicle2PartSql, true); - } - //初始化ERP总成 - if (_erpAssemblyIdList.Count == 0) - { - //取Erp总成 - string erpIdsql = "select Id from FisAssemblyCfgErp where PreviousVersionId is null order by ErpAssemblyVersion, CreationTime desc"; - _erpAssemblyIdList = _newJitDapperRepository.GetListBySql(erpIdsql, true); - - //取所有零件 - string erp2partSql = @" - select e.Id as ErpAssemblyId, ep.Id as PartId, ep.PartCode, ep.PartNum, ep.IsKey - from FisAssemblyCfgErp e - join FisAssemblyCfgPart ep on e.Id = ep.AssemblyCfgErpId - where e.PreviousVersionId is null - "; - _erp2partList = _newJitDapperRepository.GetListBySql(erp2partSql, true); - } - - //初始化预批量 - if (_preBatchList.Count == 0) - { - string prebatchSql = "select YearKennCode FROM [SettleAccountService].[dbo].[Set_prebatch] where YearKennCode is not null and YearKennCode <> ''"; - _preBatchList = _newJitDapperRepository.GetListBySql(prebatchSql, true); - } - } - - /// - /// 初始化时用 - /// - /// - /// - [HttpPost] - [Route("match-assembly-init")] - public virtual bool MatchAssembly_Init(Guid billId) - { - bool isBillSaved = true; - BillM100 m100Bill = _billM100Repository.GetAsync(billId).GetAwaiter().GetResult(); - - #region 先和"未匹配单据"比较 - //bool equalNotMatch = false; //是否等于未匹配单据 - - //List notMatchLst = _notMatchTempBillRepository.GetListAsync().GetAwaiter().GetResult(); - //foreach (NotMatchTempBill notMatchItem in notMatchLst) - //{ - // BillM100 notMatchBill = _billM100Repository.GetAsync(notMatchItem.NotMatchBillId).GetAwaiter().GetResult(); - // bool isEqual = CompareTwoCollection(m100Bill.BillM100Parts, notMatchBill.BillM100Parts); - // if (isEqual) - // { - // equalNotMatch = true; //等于 未匹配单据 - // break; - // } - //} - //if (equalNotMatch) //等于 未匹配单据 - //{ - // //最后提交单据 - // if (isBillSaved) - // { - // _billM100Repository.UpdateAsync(m100Bill).GetAwaiter().GetResult(); - // } - // else - // { - // _billM100Repository.InsertAsync(m100Bill).GetAwaiter().GetResult(); - // } - // _logger.LogDebug(_errorMessagePrefix + "等于 未匹配单据:" + _hostSN); - // return false; - //} - #endregion - - bool isMatch = DoMatchAssembly(m100Bill, isBillSaved); - - #region 未匹配上总成、不等于未匹配列表时,插入未匹配单据 - //if (isMatch == false && equalNotMatch == false) - //{ - // NotMatchTempBill notMatchObj = new NotMatchTempBill(GuidGenerator.Create(), m100Bill.Id); - // _notMatchTempBillRepository.InsertAsync(notMatchObj).GetAwaiter().GetResult(); - //} - #endregion - - return isMatch; - } - - #endregion - - #region 私有方法 - - /// - /// 传输一个报文 - /// - /// - /// - /// - /// - /// - [UnitOfWork] - private OneMessageResult DoOneMessage(List productFilterLst, int repeatMaxSN, int billMaxSN, List validBillLst = null) - { - _logger.LogDebug(_errorMessagePrefix + "DoOneMessage 开始:" + _hostSN); - OneMessageResult retObj = new OneMessageResult(); - - productdata_A productDataObj = productFilterLst[0]; - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.天合) - { - //处理4KE - bool have4KE = productFilterLst.Any(itm => itm.cPartNo.StartsWith("4KE")); - if (have4KE) - { - retObj.repeatMaxSN = repeatMaxSN; - retObj.billMaxSN = billMaxSN; - return retObj; - } - //处理预批量 - string cardNo = productDataObj.cCarNo.ToString(); - if (cardNo != null && cardNo.Length >= 9) - { - string cardNo9 = cardNo.Substring(0, 9); - bool isPreBatch = _preBatchList.Contains(cardNo); - if (isPreBatch) - { - billMaxSN++; - BillM100 m100Bill = BuildM100Bill(productDataObj, billMaxSN, productFilterLst); - m100Bill.SetBillStatus(BillStatusEnum.PreBatch); - var tempBill = _billM100Repository.InsertAsync(m100Bill).GetAwaiter().GetResult(); - retObj.repeatMaxSN = repeatMaxSN; - retObj.billMaxSN = billMaxSN; - return retObj; - } - } - } - _hostSN = productDataObj.cSEQNo.ToString() + " - " + productDataObj.cVinCode; //异常输出用 - - //判断重复报文 - bool isRepeat = _billM100Repository.Any(itm => itm.HostSN == productDataObj.cSEQNo.TryToIntZero() && itm.VIN == productDataObj.cVinCode); - if (isRepeat)//进入重复报文 - { - _logger.LogDebug(_errorMessagePrefix + "插入重复报文开始:" + _hostSN); - //插入重复报文 - repeatMaxSN++; - InsertRepeatBill(productDataObj, repeatMaxSN, productFilterLst); - //插入日志提醒模块 - string errorMsg = "报文重复,请到重复报文模块查看:" + this._hostSN; - _logRemindDomainService.WriteLogRemind("抽取报文数据", errorMsg, LogTypeEnum.None); - - _logger.LogDebug(_errorMessagePrefix + "插入重复报文完成:" + _hostSN); - } - else //进入正常流程 - { - _logger.LogDebug(_errorMessagePrefix + "插入单据开始:" + _hostSN); - //插入单据 - billMaxSN++; - BillM100 m100Bill = BuildM100Bill(productDataObj, billMaxSN, productFilterLst); - _logger.LogDebug(_errorMessagePrefix + "插入单据完成:" + _hostSN); - - //判断总成 - bool isMatch = DoMatchAssembly(m100Bill); //匹配总成(匹配上时:1.插入整车总成配置表, 2.更新单据表) - if (isMatch == true) - { - _logger.LogDebug(_errorMessagePrefix + "已匹配总成:" + _hostSN); - //总成匹配时 - //validBillLst.Add(m100Bill); //记录,用于调用接口 - } - else - { - _logger.LogDebug(_errorMessagePrefix + "未匹配总成,插入未知总成开始:" + _hostSN); - //不匹配时,插入未知总成 - InsertUnknownAssembly(m100Bill); - //写未知总成提醒日志 - string errorMsg = "报文出现未知总成,请到未知总成模块查看:" + this._hostSN; - _logRemindDomainService.WriteLogRemind("抽取报文数据", errorMsg, LogTypeEnum.None); - - _logger.LogDebug(_errorMessagePrefix + "未匹配总成,插入未知总成完成:" + _hostSN); - } - } - _logger.LogDebug(_errorMessagePrefix + "DoOneMessage 结束:" + _hostSN); - retObj.repeatMaxSN = repeatMaxSN; - retObj.billMaxSN = billMaxSN; - return retObj; - } - - [UnitOfWork] - private bool DoMatchAssembly(BillM100 m100Bill, bool isBillSaved = false) - { - try - { - #region 先进行整车总成匹配 - ObjectResultDto resultObj = CompareVehicleAssembly(m100Bill); - if (resultObj.Status == true) - { - _logger.LogDebug(_errorMessagePrefix + "已匹配整车总成开始:" + _hostSN); - - //匹配时:更新单据表 - //BillM100 m100Obj = _billM100Repository.GetAsync(m100Bill.Id).GetAwaiter().GetResult(); - m100Bill.SetAssemblyID(resultObj.Item); - m100Bill.SetBillStatus(BillStatusEnum.Match); - //最后提交单据 - if (isBillSaved) - { - _billM100Repository.UpdateAsync(m100Bill).GetAwaiter().GetResult(); - } - else - { - _billM100Repository.InsertAsync(m100Bill).GetAwaiter().GetResult(); - } - _logger.LogDebug(_errorMessagePrefix + "已匹配整车总成完成:" + _hostSN); - return true; - } - #endregion - - #region 再进行Erp总成匹配 - ObjectResultDto resuObj2 = CompareErpAssembly(m100Bill); - if (resuObj2.Status == true) - { - _logger.LogDebug(_errorMessagePrefix + "已匹配Erp总成开始:" + _hostSN); - - #region 匹配时:1.插入整车总成配置表 - var erpIdLst = resuObj2.Item.ErpAssemblyIdList; //Erp总成ID列表 - Guid vehicleAssemblyId = GuidGenerator.Create(); - AssemblyCfgVehicle vehicleAssemblyCfgObj = new AssemblyCfgVehicle(vehicleAssemblyId, null, null, null, true); - //插入子表 - foreach (Guid erpId in erpIdLst) - { - vehicleAssemblyCfgObj.AddChildObj(GuidGenerator.Create(), erpId); - } - var vehicleAssemblyResu = _assemblyCfgVehicleRepository.InsertAsync(vehicleAssemblyCfgObj).GetAwaiter().GetResult(); - //插入内存 - foreach (var item in resuObj2.Item.Vehicle2PartList) - { - item.VehicleAssemblyId = vehicleAssemblyId; - } - _vehicle2partList.AddRange(resuObj2.Item.Vehicle2PartList); - #endregion - - #region 匹配时:2.更新单据表【//!!目前仅提供M100】 - //BillM100 m100Bill = _billM100Repository.GetAsync(billId).GetAwaiter().GetResult(); - m100Bill.SetAssemblyID(vehicleAssemblyResu.Id); - m100Bill.SetBillStatus(BillStatusEnum.Match); - #endregion - - #region 最后提交单据 - if (isBillSaved) - { - _billM100Repository.UpdateAsync(m100Bill).GetAwaiter().GetResult(); - } - else - { - _billM100Repository.InsertAsync(m100Bill).GetAwaiter().GetResult(); - } - #endregion - - _logger.LogDebug(_errorMessagePrefix + "已匹配Erp总成完成:" + _hostSN); - return true; - } - _logger.LogDebug(_errorMessagePrefix + "未匹配Erp总成:" + _hostSN); - - #endregion - - #region 保存单据 - _logger.LogDebug(_errorMessagePrefix + "插入或修改单据数据开始:" + _hostSN); - if (isBillSaved) - { - _billM100Repository.UpdateAsync(m100Bill).GetAwaiter().GetResult(); - } - else - { - _billM100Repository.InsertAsync(m100Bill).GetAwaiter().GetResult(); - } - _logger.LogDebug(_errorMessagePrefix + "插入或修改单据数据完成:" + _hostSN); - #endregion - - return false; - } - catch (Exception ex) - { - throw new Exception($"-MatchAssembly子方法-{_hostSN}-" + ex.Message); - } - } - - /// - /// 插入重复报文 - /// - [UnitOfWork] - private void InsertRepeatBill(productdata_A productDataObj, int? maxSerialNum, List productFilterLst) - { - RepeatM100 repeatBill = new RepeatM100( - GuidGenerator.Create(), - null, - maxSerialNum, - productDataObj.cSEQNo.TryToInt(), - productDataObj.cCarNo.ToString(), - productDataObj.cVinCode, - null, - productDataObj.dBegin, - ServerHelper.CurrentDateTime, - null, - null, //生产线 - (productDataObj.dBegin ?? DateTime.Now).Year.ToString(), - BillStatusEnum.None - ); - //零件子表赋值 - foreach (var productFilterItm in productFilterLst) - { - double? partNum = productFilterItm.iLastPartNum > 0 ? productFilterItm.iLastPartNum : productFilterItm.nPartNum; //天合本地化:优先取iLastPartNum - repeatBill.AddChildObj(GuidGenerator.Create(), productFilterItm.cPartNo, (int?)partNum, productFilterItm.cRemark); - } - //插入重复单据 - _repeatM100Repository.InsertAsync(repeatBill).GetAwaiter().GetResult(); - - } - - /// - /// 插入M100单据 - /// - [UnitOfWork] - private BillM100 BuildM100Bill(productdata_A productDataObj, int? maxSerialNum, List productFilterLst) - { - BillM100 m100Bill = new BillM100( - GuidGenerator.Create(), - null, - maxSerialNum, - productDataObj.cSEQNo.TryToInt(), - productDataObj.cCarNo.ToString(), - productDataObj.cVinCode, - null, - productDataObj.dBegin, - null, - (productDataObj.dBegin ?? DateTime.Now).Year.ToString(), - productDataObj.cOpertime.TryToDateTime(), //ServerHelper.CurrentDateTime, //天合只能根据操作时间判断增量, 天合操作时间和M100接收时间对应 - BillStatusEnum.NotMatch //未生效,总成匹配后更改为生效 - ); - //零件子表赋值 - foreach (var productFilterItm in productFilterLst) - { - double? partNum = productFilterItm.iLastPartNum > 0 ? productFilterItm.iLastPartNum : productFilterItm.nPartNum; //天合本地化:优先取iLastPartNum - m100Bill.AddChildObj(GuidGenerator.Create(), productFilterItm.cPartNo, (int)partNum, productFilterItm.cRemark); - } - //插入单据 - //var ret = _billM100Repository.InsertAsync(m100Bill).GetAwaiter().GetResult(); //!! ABP内部原因,插入后再读取、修改有问题 - return m100Bill; - } - - #region 整车总成比较 - - /// - /// 整车总成比较 - /// - /// - /// 整车总成ID - [UnitOfWork] - private ObjectResultDto CompareVehicleAssembly(BillM100 m100Bill) - { - try - { - //取总成表中所有总成,分别和sourceAssemblyParts进行比较,相等时返回总成ID - ObjectResultDto ret = new ObjectResultDto(); - - //if (_vehicleAssemblyIdList.Count == 0) //第一次取 - //{ - // //取全部整车总成ID - // string vehicleSql = "select Id from FisAssemblyCfgVehicle v order by CreationTime desc"; - // _vehicleAssemblyIdList = _newJitDapperRepository.GetListBySql(vehicleSql, true); - - // //取全部零件:按整车总成Id、零件编码分组汇总数量 - // const string vehicle2PartSql = @" - // select v.Id as VehicleAssemblyId, ep.PartCode, sum(ep.PartNum) as PartNum, null as [Description], 0 as IsKey - // from FisAssemblyCfgVehicle v - // join FisAssemblyCfgVehicleChild vc on v.Id = vc.AssemblyCfgVehicleId - // join FisAssemblyCfgErp e on vc.ErpAssemblyId = e.Id - // join FisAssemblyCfgPart ep on e.Id = ep.AssemblyCfgErpId - // group by v.Id, ep.PartCode - // order by v.Id, ep.PartCode - // "; - // _vehicle2partList = _newJitDapperRepository.GetListBySql(vehicle2PartSql, true); - //} - - foreach (Guid vehicleId in _vehicleAssemblyIdList) - { - List partLst = _vehicle2partList.Where(itm => itm.VehicleAssemblyId == vehicleId).ToList(); - - //类型转换 AssemblyCfgPartDto to BillM100Part - List vehicleParts = new List(); - foreach (AssemblyCfgVehicle2PartDto partItem in partLst) - { - BillM100Part tempObj = new BillM100Part(GuidGenerator.Create(), partItem.PartCode, partItem.PartNum); - vehicleParts.Add(tempObj); - } - //集合比较 - bool isSame = CompareTwoCollection(m100Bill.BillM100Parts, vehicleParts); - if (isSame) //已匹配 - { - ret.Item = vehicleId; //整车总成ID - ret.Status = true; - return ret; - } - } - //不匹配 - ret.Status = false; - return ret; - } - catch (Exception ex) - { - throw new Exception($"-CompareVehicleAssembly子方法-{_hostSN}-" + ex.Message); - } - } - - /// - /// 两个集合比较 - /// - /// - /// - /// - [UnitOfWork] - private bool CompareTwoCollection(List sourceLst, List targetLst) - { - if (sourceLst == null || targetLst == null || sourceLst.Count == 0 || targetLst.Count == 0) - { - return false; - } - if (sourceLst.Count != targetLst.Count) - { - return false; - } - - var srcOrdLst = sourceLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - var tarOrdLst = targetLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - bool isEqual = srcOrdLst.SequenceEqual(tarOrdLst, new M100PartListEquality()); - return isEqual; - } - #endregion - - #region Erp总成比较 - - /// - /// ERP总成比较 - /// - /// - /// 匹配的若干个Erp总成ID - [UnitOfWork] - private ObjectResultDto CompareErpAssembly(BillM100 m100Bill) - { - try - { - //取总成表中所有总成,分别和sourceAssemblyParts进行比较,相等时返回总成ID - ObjectResultDto ret = new ObjectResultDto(); - ret.Item = new CompareErpAssemblyResult(); - - //if (_erpAssemblyIdList.Count == 0) - //{ - // //取Erp总成 - // string erpIdsql = "select Id from FisAssemblyCfgErp where PreviousVersionId is null order by ErpAssemblyVersion, CreationTime desc"; - // _erpAssemblyIdList = _newJitDapperRepository.GetListBySql(erpIdsql, true); - - // //取所有零件 - // string erp2partSql = @" - // select e.Id as ErpAssemblyId, ep.Id as PartId, ep.PartCode, ep.PartNum, ep.IsKey - // from FisAssemblyCfgErp e - // join FisAssemblyCfgPart ep on e.Id = ep.AssemblyCfgErpId - // where e.PreviousVersionId is null - // "; - // _erp2partList = _newJitDapperRepository.`(erp2partSql, true); - //} - - #region 进一步过滤结算件 - //遍历所有Erp总成中的结算件,判断是否是单据中结算件的子集 - List filterErpAssemblyIdLst = new List(); - - List billPartCodeLst = m100Bill.BillM100Parts.Select(itm => itm.PartCode).ToList(); - foreach (Guid erpId in _erpAssemblyIdList) - { - List erpPartCodeLst = _erp2partList.Where(itm => itm.ErpAssemblyId == erpId).Select(itm => itm.PartCode).ToList(); - bool isSubset = !erpPartCodeLst.Except(billPartCodeLst).Any(); //是子集 - if (isSubset) - { - filterErpAssemblyIdLst.Add(erpId); - } - } - #endregion - - int cnt = this.ParseAssemblyCycleCount; - - _logger.LogDebug(_errorMessagePrefix + "_parseAssemblyCycleCount:" + cnt + ", filterErpAssemblyIdLst:" + filterErpAssemblyIdLst.Count()); - - for (int i = cnt; i > 0; i--) - { - List combLst = PermutationAndCombination.GetCombination(filterErpAssemblyIdLst.ToArray(), i); //求全部的 n*n 组合 - if (combLst == null) - { - continue; - } - foreach (Guid[] combItm in combLst) - { - List erpIdLst = combItm.ToList(); - //按PartCode分组汇总PartNum - var query = from item in _erp2partList - where erpIdLst.Contains(item.ErpAssemblyId) - group item by item.PartCode into g - select new - { - PartCode = g.Key, - PartNum = g.Sum(itm => itm.PartNum) - }; - List groupLst = new List(); - foreach (var item in query) - { - BillM100Part groupObj = new BillM100Part(GuidGenerator.Create(), item.PartCode, item.PartNum); - groupLst.Add(groupObj); - } - - bool isSame = CompareTwoCollection(m100Bill.BillM100Parts, groupLst); - if (isSame) //已匹配 - { - ret.Item.ErpAssemblyIdList = erpIdLst; - //添加到内存 - List vehicle2PartLst = new List(); - foreach (var groupItm in groupLst) - { - AssemblyCfgVehicle2PartDto vehicle2PartObj = new AssemblyCfgVehicle2PartDto(); - //vehicle2PartObj.VehicleAssemblyId = Guid.NewGuid(); - vehicle2PartObj.PartId = Guid.NewGuid(); - vehicle2PartObj.PartCode = groupItm.PartCode; - vehicle2PartObj.PartNum = groupItm.PartNum; - //vehicle2PartObj.IsKey = ""; - vehicle2PartLst.Add(vehicle2PartObj); - } - ret.Item.Vehicle2PartList = vehicle2PartLst; - ret.Status = true; - return ret; - } - } - } - ret.Status = false; - return ret; - } - catch (Exception ex) - { - throw new Exception($"-CompareErpAssembly子方法-{_hostSN}-" + ex.Message); - } - } - - #endregion - - /// - /// 不匹配时,插入未知总成,写提醒日志 - /// - /// - [UnitOfWork] - private void InsertUnknownAssembly(BillM100 bill) - { - try - { - //插入未知总成 - UnknownAssembly unknownAssemblyObj = new UnknownAssembly(GuidGenerator.Create(), bill.Id, "M100"); - - foreach (BillM100Part billPart in bill.BillM100Parts) - { - unknownAssemblyObj.AddChildObj(GuidGenerator.Create(), billPart.PartCode, billPart.PartNum, billPart.Description); - } - var partNumSum = unknownAssemblyObj.UnknownAssemblyParts.Sum(itm => (int)itm.PartNum); - unknownAssemblyObj.SetPartNum(partNumSum); - _unknownAssemblyRepository.InsertAsync(unknownAssemblyObj).GetAwaiter().GetResult(); - } - catch (Exception ex) - { - throw new Exception($"-InsertUnknownAssembly子方法-{_hostSN}-" + ex.Message); - - } - } - - /// - /// 转换成接口传输实体 - /// - /// - /// - [UnitOfWork] - private FISVersionEto ConvertToFISVersion(List m100BillList) - { - try - { - List tarChildLst = new List(); - foreach (BillM100 billItm in m100BillList) - { - foreach (BillM100Part partItm in billItm.BillM100Parts) - { - Guid id = GuidGenerator.Create(); - string year = billItm.OnlineTime.DateTimeNotNull().ToString("yyyy"); //年度 - string period = billItm.OnlineTime.DateTimeNotNull().ToString("MM"); //期间 - string extend1 = null; //其他字段 - string chassisNumber = billItm.VIN; //底盘号 - decimal qty = (decimal)(partItm.PartNum ?? 0); //用量 - string cp5Time = billItm.OnlineTime.DateTime_yyyyMMddHHmmss(); //CP5时间 - string sequenceNumber = billItm.HostSN.ToString(); //顺序号 - string orderBillNum = billItm.KNR; //订单编号 - string materialCode = partItm.PartCode; //发运零件号 - string fisyear = billItm.OnlineTime.DateTimeNotNull().ToString("yyyy"); - Guid parentId = GuidGenerator.Create(); - string kENNCode = billItm.KNR; //KENEN号 - string chassisNumber2 = null; //底盘号2 - int state = 0; //状态 - string cp7Time = billItm.OnlineTime.DateTime_yyyyMMddHHmmss(); //CP7时间 - decimal settledQty = 0; //结算数量 - string version = billItm.OnlineTime.DateTimeNotNull().ToString("yyyyMM"); //年度+月 202106 - string creationTime = ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss(); - Guid creatorId = GuidGenerator.Create(); - string beginTime = ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss(); //开始时间 - string endTime = ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss(); //结束时间 - string erpMatialCode = null; //Erp总成号 - string model = null;//车型 - FIS_TH tarChild = new FIS_TH(id, year, period, extend1, chassisNumber, qty, cp5Time, sequenceNumber, - orderBillNum, materialCode, fisyear, parentId, kENNCode, chassisNumber2, state, cp7Time, settledQty, - version, creationTime, creatorId, beginTime, endTime, erpMatialCode, model); - tarChildLst.Add(tarChild); - } - } - FISVersionEto tarMain = new FISVersionEto( - GuidGenerator.Create(), - ServerHelper.CurrentDateTime.ToString("yyyy"), - ServerHelper.CurrentDateTime.ToString("MM"), - ServerHelper.CurrentDateTime.ToString("yyyyMM"), - "FAW", null, null, - ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss(), - ServerHelper.CurrentDateTime.DateTime_yyyyMMddHHmmss() - ); - tarMain.Details = tarChildLst; - return tarMain; - - } - catch (Exception ex) - { - throw new Exception($"-InsertUnknownAssembly子方法-{_hostSN}-" + ex.Message); - } - } - #endregion - } - - public class M100PartListEquality : IEqualityComparer - { - public bool Equals(BillM100Part x, BillM100Part y) - { - return x.PartCode == y.PartCode && x.PartNum == y.PartNum; - } - - public int GetHashCode(BillM100Part obj) - { - if (obj == null) - { - return 0; - } - else - { - return obj.ToString().GetHashCode(); - } - } - } - - public class OneMessageResult - { - public int repeatMaxSN { get; set; } - - public int billMaxSN { get; set; } - } - - public class CompareErpAssemblyResult - { - public List ErpAssemblyIdList { get; set; } - - public List Vehicle2PartList { get; set; } - - public CompareErpAssemblyResult() - { - ErpAssemblyIdList = new List(); - - Vehicle2PartList = new List(); - } - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionWorkerTianHe.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionWorkerTianHe.cs deleted file mode 100644 index b66c99e4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/MsgTransmission/TianHe/MsgTransmissionWorkerTianHe.cs +++ /dev/null @@ -1,81 +0,0 @@ -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; -using Quartz; -using System; -using System.Collections.Generic; -using System.Configuration; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.BackgroundWorkers.Quartz; -using Volo.Abp.Threading; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgTransmission.TianHe -{ - public class MsgTransmissionWorkerTianHe : QuartzBackgroundWorkerBase - { - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 报文传输应用服务(天合版) - /// - private MsgTransmissionAppServiceTianHe _msgTransmissionAppServiceTianHe; - - /// - /// 配置 - /// - private readonly IConfiguration _configuration; - - public MsgTransmissionWorkerTianHe( - ILogger logger, - MsgTransmissionAppServiceTianHe msgTransmissionAppServiceTianHe, - IConfiguration configuration - ) - { - _logger = logger; - _msgTransmissionAppServiceTianHe = msgTransmissionAppServiceTianHe; - _configuration = configuration; - - ConfigDic.CurrentVersion = configuration["ConfigDic:CurrentVersion"]; - ConfigDic.MsgTransmissionWorker_TakeRecordCount = configuration["ConfigDic:MsgTransmissionWorkerTianHe:TakeRecordCount"].TryToIntZero(); - int intervalInMinutes = configuration["ConfigDic:MsgTransmissionWorkerTianHe:IntervalInMinutes"].TryToIntZero(); - - if (_configuration["ConfigDic:MsgTransmissionWorkerTianHe:IsStop"].ToLower() == "true") - { - AutoRegister = false; - } - - JobDetail = JobBuilder.Create(). - WithIdentity(nameof(MsgTransmissionWorkerTianHe)). - Build(); - - Trigger = TriggerBuilder.Create() - .StartNow() - .WithIdentity(nameof(MsgTransmissionWorkerTianHe)) - .WithSimpleSchedule(s => s.WithIntervalInMinutes(intervalInMinutes) - .RepeatForever() - .WithMisfireHandlingInstructionIgnoreMisfires()) - .Build(); - - ScheduleJob = async scheduler => - { - if (!await scheduler.CheckExists(JobDetail.Key)) - { - await scheduler.ScheduleJob(JobDetail, Trigger); - } - }; - } - - public override Task Execute(IJobExecutionContext context) - { - _logger.LogDebug("开始执行天合版本后台工作者Quartz!"); - int takeRecCnt = _configuration["ConfigDic:MsgTransmissionWorkerTianHe:TakeRecordCount"].TryToIntZero(); - var ret = _msgTransmissionAppServiceTianHe.TransmissionMessageAsync(new TransmissionParamDto(takeRecCnt)); - return Task.CompletedTask; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitAppService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitAppService.cs deleted file mode 100644 index 7e661a88..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitAppService.cs +++ /dev/null @@ -1,18 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using WY.NewJit.Localization; -using Volo.Abp.Application.Services; - -namespace WY.NewJit -{ - /* Inherit your application services from this class. - */ - public abstract class NewJitAppService : ApplicationService - { - protected NewJitAppService() - { - LocalizationResource = typeof(NewJitResource); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitApplicationAutoMapperProfile.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitApplicationAutoMapperProfile.cs deleted file mode 100644 index 1bac2bef..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitApplicationAutoMapperProfile.cs +++ /dev/null @@ -1,89 +0,0 @@ -using Acme.BookStore; -using Acme.BookStore.Books; -using AutoMapper; -using WY.NewJit.Books; -using WY.NewJit.MsgBaseData; -using WY.NewJit.MsgCheck; -using WY.NewJit.MsgCheck.UnknownAssemblys; - -namespace WY.NewJit -{ - public class NewJitApplicationAutoMapperProfile : Profile - { - public NewJitApplicationAutoMapperProfile() - { - CreateMap(); - CreateMap(); - - #region 基础数据 - CreateMap().ReverseMap(); - CreateMap().ReverseMap(); - - CreateMap().ReverseMap(); - CreateMap().ReverseMap(); - - //CreateMap().ReverseMap(); - //CreateMap().ReverseMap(); - - CreateMap() - .ForMember(dest => dest.Details, option => option.MapFrom(src => src.Details)).ReverseMap(); - CreateMap() - .ForMember(dest => dest.Details, option => option.MapFrom(src => src.Details)).ReverseMap(); - - CreateMap().ReverseMap(); - CreateMap().ReverseMap(); - - CreateMap().ReverseMap(); - - CreateMap().ReverseMap(); - CreateMap().ReverseMap(); - - CreateMap().ReverseMap(); - CreateMap().ReverseMap(); - - #endregion - - #region 报文解析及校验 - CreateMap() - .ForMember(dest=> dest.M100RepeatParts, option => option.MapFrom(src => src.M100RepeatParts)).ReverseMap(); - CreateMap().ReverseMap(); - - CreateMap() - .ForMember(dest => dest.M100RepeatParts, option => option.MapFrom(src => src.M100RepeatParts)).ReverseMap(); - CreateMap().ReverseMap(); - - CreateMap() - .ForMember(dest => dest.BillM100Parts, option => option.MapFrom(src => src.BillM100Parts)).ReverseMap(); - CreateMap().ReverseMap(); - CreateMap() - .ForMember(dest=> dest.BillM100Parts, option => option.MapFrom(src => src.BillM100Parts)).ReverseMap(); - CreateMap().ReverseMap(); - - CreateMap() - .ForMember(dest => dest.BillR100Parts, option => option.MapFrom(src => src.BillR100Parts)).ReverseMap(); - CreateMap().ReverseMap(); - CreateMap() - .ForMember(dest => dest.BillR100Parts, option => option.MapFrom(src => src.BillR100Parts)).ReverseMap(); - CreateMap().ReverseMap(); - - CreateMap() - .ForMember(dest => dest.R100RepeatParts, option => option.MapFrom(src => src.R100RepeatParts)).ReverseMap(); - CreateMap().ReverseMap(); - - CreateMap() - .ForMember(dest => dest.UnknownAssemblyParts, option => option.MapFrom(src => src.UnknownAssemblyParts)).ReverseMap(); - CreateMap().ReverseMap(); - - //未知总成 没加//!! - #endregion - - #region 报文转换 - - #endregion - - #region 报文传输 - #endregion - - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitApplicationModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitApplicationModule.cs deleted file mode 100644 index 0c690e63..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/NewJitApplicationModule.cs +++ /dev/null @@ -1,66 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp; -using Volo.Abp.Account; -using Volo.Abp.AutoMapper; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; -using Volo.Abp.Threading; -using WY.NewJit.MsgTransmission; -using Volo.Abp.BackgroundWorkers.Quartz; -using Volo.Abp.EventBus.RabbitMq; -using Microsoft.Extensions.Configuration; -using WY.NewJit.Common; - -namespace WY.NewJit -{ - [DependsOn( - typeof(NewJitDomainModule), - typeof(AbpAccountApplicationModule), - typeof(NewJitApplicationContractsModule), - typeof(AbpIdentityApplicationModule), - typeof(AbpPermissionManagementApplicationModule), - typeof(AbpTenantManagementApplicationModule), - typeof(AbpFeatureManagementApplicationModule), - typeof(AbpSettingManagementApplicationModule) - )] - [DependsOn(typeof(AbpBackgroundWorkersQuartzModule))] - //[DependsOn(typeof(AbpEventBusRabbitMqModule))] //??现场没安装消息队列服务器,暂时屏蔽 - public class NewJitApplicationModule : AbpModule - { - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.AddMaps(); - }); - } - - public override void OnApplicationInitialization(ApplicationInitializationContext context) - { - base.OnApplicationInitialization(context); - - //if (ConfigDic.CurrentVersion == ConfigDicVersionOption.天合) //是天合版本时,自动注册定时任务 - //{ - - //} - //else if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - //{ - // AsyncHelper.RunSync(async () => - // { - // using (var scope = context.ServiceProvider.CreateScope()) - // { - // scope.ServiceProvider.GetRequiredService().TransmissionMessageAsync(new TransmissionParamDto(ConfigDic.MsgTransmissionWorker_TakeRecordCount)); - // } - // }); - //} - //else - //{ - // throw new BusinessException(null, "版本信息SystemVersionInfo.CurrentVersion为空"); - //} - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/Properties/AssemblyInfo.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/Properties/AssemblyInfo.cs deleted file mode 100644 index 1a436464..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,2 +0,0 @@ -using System.Runtime.CompilerServices; -[assembly:InternalsVisibleToAttribute("WY.NewJit.Application.Tests")] diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.csproj deleted file mode 100644 index 5e3f5751..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.csproj +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - net5.0 - WY.NewJit - - - - D:\~LYF\~源码\新版JIT或JIS系统\src\Modules\新版JIT或JIS系统服务端\src\WY.NewJit.Application\WY.NewJit.Application.xml - - - - D:\~LYF\~源码\新版JIT或JIS系统\src\Modules\新版JIT或JIS系统服务端\src\WY.NewJit.Application\WY.NewJit.Application.xml - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml deleted file mode 100644 index 6b9a9ada..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Application/WY.NewJit.Application.xml +++ /dev/null @@ -1,1755 +0,0 @@ - - - - WY.NewJit.Application - - - - - BookAppService使用IObjectMapper将Book对象转换为BookDto对象, 将CreateUpdateBookDto对象转换为Book对象 - - - - - 总成配置应用服务实现 - - - - - ERP总成仓储 - - - - - 结算件仓储 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 总成领域服务 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - 两个集合比较 - - - - - - - - 根据筛选条件获取分页实体列表 - - - - - - - 按主键获取唯一实体 - - - - - - - 添加实体 - - - - - - - 修改实体 - - - - - - - - 删除实体 - - - - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 系统初始化时使用,去掉重复的ERP总成 - - - - - - - 同步ERP总成(从结算系统)(天合版本) - - - - - - - 总成配置应用服务实现 - - - - - 仓储 - - - - - 日志 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据ID获取实体列表 - - Erp总成Id - - - - - 按主键获取唯一实体 - - - - - - - 添加实体 - - - - - - - 修改实体 - - - - - - - - 删除实体 - - - - - - - 总成配置应用服务实现 - - - - - ERP总成仓储 - - - - - 结算件仓储 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 整车总成配置仓库 - - - - - Erp总成应用服务 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据Id获取实体列表 - - 整车总成ID - Erp总成实体列表 - - - - 通用字典应用服务实现 - - - - - 字典领域服务 - - - - - 日志 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据字典类型名称取通用字典信息列表 - - 字典类型名称 - 返回符合条件字典信息列表 - - - - 排除零件配置服务实现 - - - - - 仓储 - - - - - 日志 - - - - - 通用字典领域服务 - - - - - 零件仓储 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 日志提醒应用服务实现 - - - - - 仓储 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 执行处理 - - 主键 - 执行成功返回真 - - - - 执行忽略 - - 主键 - 执行成功返回真 - - - - 零件管理应用服务实现 - - - - - 仓储 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 零件切换应用服务实现 - - - - - 仓储 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - M100单据管理应用服务实现 - - - - - 仓储 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 打印门板 - - - 执行成功返回真 - - - - 打印柱护板 - - - 执行成功返回真 - - - - M100单据管理应用服务实现 - - - - - 仓储 - - - - - ERP总成仓储 - - - - - 结算件仓储 - - - - - 整车总成配置仓库 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - 两个集合比较 - - - - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 根据KNR取单据对应的ERP总成列表 - - - - - - - R100单据管理应用服务实现 - - - - - 仓储 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 修改实体 - - 更新主键 - 修改内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 焊装总装对比应用服务实现 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - M100重复报文应用服务实现 - - - - - 仓储 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 添加实体 - - 添加内容 - 执行成功返回真 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - R100重复报文应用服务实现 - - - - - 仓储 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 未知总成应用服务实现 - - - - - 未知总成仓储 - - - - - ERP总成仓储 - - - - - R100报文解析及校验领域服务 - - - - - M100报文解析及校验领域服务 - - - - - 日志 - - - - - Dapper仓储 - - - - - BLOB存储 - - - - - 事物总线仓库 - - - - - 错误信息前缀 - - - - - 构造函数 - - - - - 根据筛选条件获取实体列表 - - - - - 根据输入参数,去掉与之重复的ERP总成 - - - - - - - 两个集合比较 - - - - - - - - 根据筛选条件获取分页实体列表 - - 输入查询条件 - 输入分页条件 - 返回符合条件的排序分页列表 - - - - 按主键获取唯一实体 - - 主键 - 实体信息 - - - - 删除实体 - - 删除主键 - 执行成功返回真 - - - - 导出信息 - - 导出查询条件 - 执行成功返回真 - - - - 导入信息 - - 导入文件流 - 执行成功返回真 - - - - 添加总成:根据未知总成中的结算件生成新的总成【客户端自己构造】 - - 总成、分总成、零件三级关系实体 - 执行成功返回真 - - - - 重新解析 - - 总成、分总成、零件三级关系实体 - 执行成功返回真 - - - - 系统初始化时使用,批量解析【天合版本】 - - - - - - - 根据vin从天合mes系统中取erp总成编码列表 - - - - - - - 报文传输应用服务实现 - - - - - 报文传输方式配置表仓储 - - - - - 报文接收表仓储 - - - - - 报文版本配置表 - - - - - 系统内通知 - - - - - R100报文解析及校验领域服务 - - - - - M100报文解析及校验领域服务 - - - - - 日志 - - - - - 配置 - - - - - R100单据 - - - - - M100单据 - - - - - 重复R100 - - - - - 重复M100 - - - - - 排除零件配置 - - - - - 未知总成维护 - - - - - 整车总成配置仓库 - - - - - Dapper仓储 - - - - - 字典领域服务 - - - - - 报文车型对应派格车型 - - - - - R100派格车型对应生产线 - - - - - M100派格车型对应生产线 - - - - - 结算件信息列表 - - - - - 错误信息前缀 - - - - - 大众顺序号,写日志时用 - - - - - 解析Erp总成时的循环数量 - - - - - 构造函数 - - - - - 传输报文 - 功能描述:1.将报文移动到工作目录,2.保存到报文接收表,3.将报文移动到备份目录,4.如果中途出错将报文从工作目录移动到错误目录 - 提醒:无论什么文件先保存到报文接收表再说,文件过滤交给后续功能(文件转换)处理 - - - - - - 将报文内容转换成BillR100或BillM100 - - - - - - - - 日志 - - - - - 报文传输应用服务(派格版) - - - - - 配置 - - - - - 日志提醒 - - - - - 日志 - - - - - ERP总成仓储 - - - - - 总成领域服务 - - - - - Guid生成 - - - - - 错误信息前缀 - - - - - 配置 - - - - - 日志提醒 - - - - - 日志 - - - - - 总成领域服务 - - - - - 日志 - - - - - 报文传输应用服务(天合版) - - - - - 配置 - - - - - 日志 - - - - - 报文传输应用服务(天合版) - - - - - 配置 - - - - - 天合版报文传输应用服务实现 - - - - - 日志提醒 - - - - - Dapper仓储 - - - - - M100单据仓储 - - - - - 天合仓储 - - - - - 整车总成配置仓库 - - - - - 未知总成仓储 - - - - - 事物总线仓库 - - - - - 日志 - - - - - 未匹配不重复的临时单据 - - - - - 配置文件 - - - - - 错误信息前缀 - - - - - 大众顺序号,写日志时用 - - - - - 解析Erp总成时的循环数量 - - - - - 整车总成Id列表 - - - - - 整车vs零件列表 - - - - - Erp总成Id列表 - - - - - Erp总成vs零件列表 - - - - - 构造函数 - - - - - 报文传输(天合版) - - - - - - 匹配总成:匹配上时插入整车总成配置表、更新单据表的整车总成ID字段、单据状态字段,匹配不上时返回false - - - - - - - 初始化时用 - - - - - - - 传输一个报文 - - - - - - - - - - 插入重复报文 - - - - - 插入M100单据 - - - - - 整车总成比较 - - - 整车总成ID - - - - 两个集合比较 - - - - - - - - ERP总成比较 - - - 匹配的若干个Erp总成ID - - - - 不匹配时,插入未知总成,写提醒日志 - - - - - - 转换成接口传输实体 - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/DbMigratorHostedService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/DbMigratorHostedService.cs deleted file mode 100644 index 43b8b941..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/DbMigratorHostedService.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System.Threading; -using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using WY.NewJit.Data; -using Serilog; -using Volo.Abp; - -namespace WY.NewJit.DbMigrator -{ - public class DbMigratorHostedService : IHostedService - { - private readonly IHostApplicationLifetime _hostApplicationLifetime; - - public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime) - { - _hostApplicationLifetime = hostApplicationLifetime; - } - - public async Task StartAsync(CancellationToken cancellationToken) - { - using (var application = AbpApplicationFactory.Create(options => - { - options.UseAutofac(); - options.Services.AddLogging(c => c.AddSerilog()); - })) - { - application.Initialize(); - - await application - .ServiceProvider - .GetRequiredService() - .MigrateAsync(); - - application.Shutdown(); - - _hostApplicationLifetime.StopApplication(); - } - } - - public Task StopAsync(CancellationToken cancellationToken) => Task.CompletedTask; - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/NewJitDbMigratorModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/NewJitDbMigratorModule.cs deleted file mode 100644 index 2e1c08c4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/NewJitDbMigratorModule.cs +++ /dev/null @@ -1,20 +0,0 @@ -using WY.NewJit.EntityFrameworkCore; -using Volo.Abp.Autofac; -using Volo.Abp.BackgroundJobs; -using Volo.Abp.Modularity; - -namespace WY.NewJit.DbMigrator -{ - [DependsOn( - typeof(AbpAutofacModule), - typeof(NewJitEntityFrameworkCoreDbMigrationsModule), - typeof(NewJitApplicationContractsModule) - )] - public class NewJitDbMigratorModule : AbpModule - { - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => options.IsJobExecutionEnabled = false); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/Program.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/Program.cs deleted file mode 100644 index a36ba24b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/Program.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System.IO; -using System.Threading.Tasks; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; -using Serilog; -using Serilog.Events; - -namespace WY.NewJit.DbMigrator -{ - class Program - { - static async Task Main(string[] args) - { - Log.Logger = new LoggerConfiguration() - .MinimumLevel.Information() - .MinimumLevel.Override("Microsoft", LogEventLevel.Warning) - .MinimumLevel.Override("Volo.Abp", LogEventLevel.Warning) -#if DEBUG - .MinimumLevel.Override("WY.NewJit", LogEventLevel.Debug) -#else - .MinimumLevel.Override("WY.NewJit", LogEventLevel.Information) -#endif - .Enrich.FromLogContext() - .WriteTo.Async(c => c.File("Logs/logs.txt")) - .WriteTo.Async(c => c.Console()) - .CreateLogger(); - - await CreateHostBuilder(args).RunConsoleAsync(); - } - - public static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .ConfigureLogging((context, logging) => logging.ClearProviders()) - .ConfigureServices((hostContext, services) => - { - services.AddHostedService(); - }); - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/WY.NewJit.DbMigrator.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/WY.NewJit.DbMigrator.csproj deleted file mode 100644 index 0c9b2039..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/WY.NewJit.DbMigrator.csproj +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - Exe - net5.0 - - - - - - - - - PreserveNewest - Always - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/appsettings.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/appsettings.json deleted file mode 100644 index 9da32e67..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/appsettings.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "ConnectionStrings": { - "Default": "Server=192.168.0.213;Database=NewJitPG;uid=sa;pwd=Microsoft@2021" - /*"Default": "Server=LAPTOP-4TE7UPMR\\MYSQLSERVER;Database=NewJit;uid=sa;pwd=1"*/ - }, - "ConfigDic": { - "CurrentVersion": "PaiGe" - }, - - "IdentityServer": { - "Clients": { - "NewJit_Web": { - "ClientId": "NewJit_Web", - "ClientSecret": "1q2w3e*", - "RootUrl": "https://localhost:44344" - }, - "NewJit_App": { - "ClientId": "NewJit_App", - "ClientSecret": "1q2w3e*", - "RootUrl": "http://localhost:4200" - }, - "NewJit_BlazorServerTiered": { - "ClientId": "NewJit_BlazorServerTiered", - "ClientSecret": "1q2w3e*", - "RootUrl": "https://localhost:44314" - }, - "NewJit_Swagger": { - "ClientId": "NewJit_Swagger", - "ClientSecret": "1q2w3e*", - "RootUrl": "https://localhost:44378" - } - } - } - } \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/tempkey.jwk b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/tempkey.jwk deleted file mode 100644 index e2388c73..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/tempkey.jwk +++ /dev/null @@ -1 +0,0 @@ -{"alg":"RS256","d":"DjXxrqb6ZHiyZq2EmFkTLnxB2WJTSDXpEJgj2cIwvwM0_fS8OxzQStA4aDhE3gRWAS4K1RQx8iGZam10VYSRZ2ERIEP2S-qxyZqvPuzT4Sdp50V8ekwZGjAljTbazvnmnP5t15l7oJfV6ALq-3zDExgF8uRO4RfgiAXk6KmKv4OXEhaiLi0OXs7V8VPc-2IhxqUkCVii007iFE5aRdhS3ZU5cY5OlSYEdBlizYUDB7ZeDJjATdFivns9JTKh53QZWocahsyZt-W8fOSGS1syZA-s2dvdQZrNjJbCusXqIHLb59gw8Fwpu3pNARXc3CYvfhxjnWCNUtp0EbVA55aNSQ","dp":"m6qSW-CkVzTmOnPllslWr8rIhrDT0ZxQoC3RuAEB52aCYTsCqEkBcYqWYUXzOLPwr2kQBmEgLM-JYjw4cYMXhZqbtQQQ-PZSlkq1-anBin7gGp889ifU6AtQttpsJ4tiELKQ1CzdqLjeUBckAsAXzXZFZLrZdNwBqPZZcrfYxME","dq":"FGaiJxM5E_z4Ou2b03DHk5nRX459uy9mhH8cZ8RyAF9Q87GIFzH40AepcCIWlklAgLVyOkj6B5vgePVo33rdFX-MA2v27xQsC6_48N8W_KPA84MziHkv6ldKDuzmcD4NrN1BtWCJmPoGeI7jWKSgdVD3L3T76in-rSQF5U8CmF8","e":"AQAB","kid":"FB664E056AD524BD608160EBA0D817DE","kty":"RSA","n":"wpgeMyvPZvjFqcVWN7ffBuxw1-RvZLsRJMIVSIijhxyQRPyWMJ_LWLZ2xRdFw_E887MwoNgLdtQ4szxgcJb_CMwkcato8IqFhn9ZoJQ1YaI8esdlFVHOe_K4gQm8fMZsatILO_qcFgJF9LRP70wy6gVnmrR19ylGENGDnRGetLZCYUkJpAeLkbZFPxf69xEpe5lC3GgGtaXOJFPt1YfMmGd9bs0OM0ynfnfVlS9s576vBIa0cnUxUKDUGhM2nVrDCj3bGd5iPOvpLN8Bf-zgpQATWaGtG7VB_xfl7MWu2O_UyNVHF-T_uVaUqXVMtxoDb2qIpdlV2HpSQ5AFwf18aQ","p":"-gvvLLF-pM0vez6lHJrjpXSbhEZw2ygrv71ASZrEOBJVLl1jnBUktZWiTuKdAT_oh318lUpU0YRBXc0rDdN7iXNCJ_RkX559xSc623SgJvRrx8a5QeMoDkHP00uDhqxVTwmlsHmWHw_n9kvSYjWTQoxECNYGUqgyoPqYDPVuNZM","q":"xzoxu1ATMhaDwOZbNbHqRWc5FMjZ9KzxsPJXAdNIn6eNEMPCOw2K0Iai4ILej1kGhYKcUDrB4cjX8KkiZ13SxbLF8KoR5GybeqQhJKjoEmovC2lcpR_xfIR1kz5EyIQPN51gHWHOZChp_iT_kABY4PcOBAzLDvzxNFNGWr8cA5M","qi":"JqlwGpgoXd_ADpHLkKpGF8TK3uAwoPaVJdYV1aWZJoRqQCMmx1yBY4RST3qDWGEdYf8Co62BdKzCEA2Re2qlT6GazLolttkkXVtfSuDV-2GadnYxABU3Z4rf_ADxLW2kgKF8QeyTAc0-hGRzk8SRVYZgLRcDdw0eYGaeYgVVWt8"} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/tempkey.rsa b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/tempkey.rsa deleted file mode 100644 index 494c2013..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.DbMigrator/tempkey.rsa +++ /dev/null @@ -1,13 +0,0 @@ -{ - "KeyId": "f788zGVUZh9H-HbWL1S-Mg", - "Parameters": { - "D": "F19hbC5PLO872DszGiJnVoU55ee7XGXmNf0KEKndJ/uGBv5lWklXA0QF80h1ytWXde0jV5isQPB1t7mPhRQlDoDTkywLi1CeOgBPbxzHEfLjZZ5c4olfeX0IJX9BDqgUntY0H1a/+Om/eDu4OZUz3EIJFFZBgz46YZSyTT6ZDvAEdpC/o66sNJmxvJIp+8zVoVDSqBUzxmc+oEamXLg7r2jdymxJMxau1kQFxEGLOrJnNxGsEe8UrYA3qSsm8m/Xg4uOh7RYgnuEEt88+KTvRq+CAMWhN3YNLtOJ3NmXowwE7e1Ma+jih9+UVfxZn14P5+SOJbQ2bYV2sCV+2vBiCQ==", - "DP": "oPiGO/qdOQfFEAS9fMInQnsrNylIZVpDYEVoDJ6/jQfE/IpuwxGcmsaGvCob3SKxZiJRLCWpwJYo1hCh/JOSVGWMkVyELky56nbbkkV5ymKLSGZ4JoetdQs+GchnPdR+k2P9Ij1Kjk13ylubN3htzNhcBASJpOfSEv5pPVzGKX0=", - "DQ": "z6imxLABHkyftbfUUtpeOlPanEHgpuIjmUdp3T1Ju1jziE63UEhuj0GPAXOF17uYxixwYE8JhOJ7+TyIK9oZeI3zH2OzJqQh8f5PCQ/E+0ULXZDeNV/ShDLCTufu3Fis9Rt64uTp/H/l21oMQ79jc0ysa8DTz1ReJLRc5qjL41U=", - "Exponent": "AQAB", - "InverseQ": "ieZcvSt5XYukKJKhXpv5Dm/1RD7iH88cZnhLSTEVTMoOUHoYWmApY5pNLGahbfjA9bxnkBWDYex/i7wE9uNNY5CsA6ovUaQLVJDt3kHvR9W+9QtN8D6jjG2TuRbbOdEg4RqhfjUaDfDIgTJX2Wxc8U98FOvOyGw1HzwUPFZKecM=", - "Modulus": "vk4z1Bmtmbo+gxITcY+FIlXzcO2wTOGlOXK5GMYj/6PUMFt7lbqkc72AkPsrAo5/JE8LYLhWj7fzSKbjvtowHCz5m2t+FlUYmuiKpvvnJsTqvQrckNlbZ1nm071q5PhP3Dar/OksfBhPtAX+c3+NjDnM/w53ccJJNaBDO/s9JYoN7vH5n6ed1pMSK71hmg4MPsxChcnc1f1PpnG2mqyJ253+GEUbj/kRyeBSmCCr9aadov2ZzxIKVaFNagJEHOzanQmorSLpP25GfOHCuy27Zkef94V/qU9elzjbH4uIKslVGx5T6H99TYh0sUGu11NytYJa5WNAZWow95CzurC2vw==", - "P": "4GMCQy+XTNzR5TsgFcdAZv2K6TcQR13fHVvPoxQp/b32V5YUJOBFEUAtqociy5ro4+KzpXP5WPSk1ZtznGKuNZyLq8gTnhpB3rwd0sdo4zxKnQ5nu+n1UhlhWNxg5A9V5TaciUAyPrHWJfLoYTQWygNTgJELQH5zZXi2ihC2uiU=", - "Q": "2R36pamnLAJggkPJxiW5qH6HizZ+bkQVg0BBftMLzkAM8Y9CwTW75GRUzGEJFpMckkw0GZSYb1Uwl3DVUpkcQ8LZ91IPYdPpDlYUshhIxl184M55pnO14besKxJtMZ64zhHKVAR2pBMO0n6W4/1iBXkkQqyPViJxdfvXPJMBbhM=" - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Books/BookType.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Books/BookType.cs deleted file mode 100644 index a363e8c9..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Books/BookType.cs +++ /dev/null @@ -1,19 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.Books -{ - public enum BookType //??【2】 - { - Undefined, - Adventure, - Biography, - Dystopia, - Fantastic, - Horror, - Science, - ScienceFiction, - Poetry - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ConfigDic.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ConfigDic.cs deleted file mode 100644 index 4c67407b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ConfigDic.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.Common -{ - /// - /// 配置字典:对应appsetting.json文件中的Dic节点,模块文件读取不到时缓存使用 - /// - public static class ConfigDic - { - /// - /// 当前版本 - /// - public static string CurrentVersion { get; set; } - - /// - /// 报文传输时一次读取的记录数 - /// - public static int MsgTransmissionWorker_TakeRecordCount { get; set; } - - - } - - /// - /// 版本选项 - /// - public static class ConfigDicVersionOption - { - public const string 天合 = "天合"; - - public const string 派格 = "PaiGe"; - - - - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ExtMethod.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ExtMethod.cs deleted file mode 100644 index 3b586fe2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ExtMethod.cs +++ /dev/null @@ -1,397 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WY.NewJit.Common -{ - public static class ExtMethod - { - public static int? TryToInt(this string p_str) - { - int resu; - bool isSucc = int.TryParse(p_str, out resu); - if (isSucc) - { - return resu; - } - else - { - return null; - } - } - - public static int TryToIntZero(this string p_str) - { - int resu; - bool isSucc = int.TryParse(p_str, out resu); - if (isSucc) - { - return resu; - } - else - { - return 0; - } - } - - - public static double? TryToDouble(this string p_str) - { - double resu; - bool isSucc = double.TryParse(p_str, out resu); - if (isSucc) - { - return resu; - } - else - { - return null; - } - } - - public static double TryToDoubleZero(this string p_str) - { - double resu; - bool isSucc = double.TryParse(p_str, out resu); - if (isSucc) - { - return resu; - } - else - { - return 0; - } - } - - public static int? TryToInt(this object p_obj) - { - string str = p_obj.ToString(); - int resu; - bool isSucc = int.TryParse(str, out resu); - if (isSucc) - { - return resu; - } - else - { - return null; - } - } - - public static double? TryToDouble(this object p_obj) - { - string str = p_obj.ToString(); - double resu; - bool isSucc = double.TryParse(str, out resu); - if (isSucc) - { - return resu; - } - else - { - return null; - } - } - - public static double TryToDoubleZero(this object p_obj) - { - string str = p_obj.ToString(); - double resu; - bool isSucc = double.TryParse(str, out resu); - if (isSucc) - { - return resu; - } - else - { - return 0; - } - } - - - public static DateTime? TryToDateTime(this object p_obj) - { - string str = p_obj.ToString(); - DateTime resu; - bool isSucc = DateTime.TryParse(str, out resu); - if (isSucc) - { - return resu; - } - else - { - return null; - } - } - - public static DateTime DateTimeNotNull(this DateTime? p_obj) - { - return p_obj ?? ServerHelper.CurrentDateTime; - } - - public static string DateTime_yyyyMMddHHmmss(this DateTime? p_obj) - { - return (p_obj ?? ServerHelper.CurrentDateTime).ToString("yyyy-MM-dd HH:mm:ss"); - } - - public static string DateTime_yyyyMMddHHmmss(this DateTime p_obj) - { - return p_obj.ToString("yyyy-MM-dd HH:mm:ss"); - } - - public static object IntDBNull(this object p_obj) - { - string str = p_obj.ToString(); - int resu; - bool isSucc = int.TryParse(str, out resu); - if (isSucc) - { - return resu; - } - else - { - return DBNull.Value; - } - } - - public static object DoubleDBNull(this object p_obj) - { - string str = p_obj.ToString(); - double resu; - bool isSucc = double.TryParse(str, out resu); - if (isSucc) - { - return resu; - } - else - { - return DBNull.Value; - } - } - - public static object DateTimeDBNull(this object p_obj) - { - string str = p_obj.ToString(); - DateTime resu; - bool isSucc = DateTime.TryParse(str, out resu); - if (isSucc) - { - return resu; - } - else - { - return DBNull.Value; - } - } - - /// - /// 23:59:59 - /// - /// - /// - public static DateTime ToMaxTime(this DateTime p_dt) - { - string str = p_dt.ToString("yyyy-MM-dd 23:59:59"); - return ExtCvt.ToDateTime(str); - } - /// - /// 00:00:01 - /// - /// - /// - public static DateTime ToMinTime(this DateTime p_dt) - { - string str = p_dt.ToString("yyyy-MM-dd 00:00:01"); - return ExtCvt.ToDateTime(str); - } - - /// - /// 23:59:59 - /// - /// - /// - public static DateTime? ToMaxTime(this DateTime? p_dt) - { - if (p_dt == null) - return null; - string str = ((DateTime)p_dt).ToString("yyyy-MM-dd 23:59:59"); - return ExtCvt.ToDateTime(str); - } - /// - /// 00:00:01 - /// - /// - /// - public static DateTime? ToMinTime(this DateTime? p_dt) - { - if (p_dt == null) - return null; - string str = ((DateTime)p_dt).ToString("yyyy-MM-dd 00:00:01"); - return ExtCvt.ToDateTime(str); - } - - public static string TryToStr(this string p_str) - { - if (p_str == null) - return ""; - return p_str; - } - - public static string TryToStr(this object p_obj) - { - if (p_obj == null) - return ""; - return p_obj.ToString(); - } - - public static DateTime yyyyMMddHHmmssToDateTime(this string str) - { - string str14 = ""; - if (str.Length < 14) - { - str14 = str.PadRight(14, '0'); - } - int year = str14.Substring(0, 4).TryToInt() ?? 1900; - int month = str14.Substring(4, 2).TryToInt() ?? 1; - int day = str14.Substring(6, 2).TryToInt() ?? 1; - int hour = str14.Substring(8, 2).TryToInt() ?? 0; - int minute = str14.Substring(10, 2).TryToInt() ?? 0; - int second = str14.Substring(12, 2).TryToInt() ?? 0; - DateTime ret = new DateTime(year, month, day, hour, minute, second); - return ret; - } - - public static bool EquaIgnoreCase(this string str, string targetStr) - { - if (str.ToUpper() == targetStr.ToUpper()) - { - return true; - } - return false; - } - } - - public class ExtCvt - { - public static double ToDouble(string p_strVal) - { - double resu; - bool isSucc = double.TryParse(p_strVal, out resu); - if (isSucc) - { - return resu; - } - else - { - return 0; - } - } - public static double ToDouble(object p_objVal) - { - if (p_objVal == null) - { - return 0; - } - return ToDouble(p_objVal.ToString()); - } - - public static int ToInt32(string p_strVal) - { - int resu; - bool isSucc = int.TryParse(p_strVal, out resu); - if (isSucc) - { - return resu; - } - else - { - return 0; - } - } - - public static int ToInt32(object p_objVal) - { - if (p_objVal == null) - { - return 0; - } - return ToInt32(p_objVal.ToString()); - } - - public static int ToInt32(int p_intVal) - { - return p_intVal; - } - - public static decimal ToDecimal(string p_strVal) - { - decimal resu; - bool isSucc = decimal.TryParse(p_strVal, out resu); - if (isSucc) - { - return resu; - } - else - { - return 0; - } - } - public static decimal ToDecimal(object p_objVal) - { - if (p_objVal == null) - { - return 0; - } - return ToDecimal(p_objVal.ToString()); - - } - - public static DateTime ToDateTime(string p_strVal) - { - DateTime resu; - bool isSucc = DateTime.TryParse(p_strVal, out resu); - if (isSucc) - { - return resu; - } - else - { - return DateTime.MinValue; - } - } - - public static DateTime ToDateTime(object p_objVal) - { - if (p_objVal == null) - { - return DateTime.MinValue; - } - return ToDateTime(p_objVal.ToString()); - } - - public static Int64 ToInt64(string p_strVal) - { - Int64 resu; - bool isSucc = Int64.TryParse(p_strVal, out resu); - if (isSucc) - { - return resu; - } - else - { - return 0; - } - } - - public static Int64 ToInt64(object p_objVal) - { - if (p_objVal == null) - { - return 0; - } - return ToInt64(p_objVal.ToString()); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ObjectResultDto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ObjectResultDto.cs deleted file mode 100644 index be48a182..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ObjectResultDto.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit -{ - - public class ObjectResultDto - { - public ObjectResultDto() - { - this.Status = true; - this.Message = ""; - } - public bool Status { get; set; } - - public string Message { get; set; } - } - - public class ObjectResultDto : ObjectResultDto - { - public ObjectResultDto() - : base() - { - } - - public ObjectResultDto(T item) - :base() - { - this.Item = item; - } - - public T Item { get; set; } - } - - public class ListResultDto : ObjectResultDto - { - public ListResultDto() - : base() - { - this.Item = new List(); - } - - public ListResultDto(List item) - : base() - { - this.Item = item; - } - - public List Item { get; set; } - } - - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/OurFileContainer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/OurFileContainer.cs deleted file mode 100644 index 689310f3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/OurFileContainer.cs +++ /dev/null @@ -1,15 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.BlobStoring; - -namespace WY.NewJit.Common -{ - [BlobContainerName("our-file-container")] - public class OurFileContainer - { - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/PagedAndSortedBase.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/PagedAndSortedBase.cs deleted file mode 100644 index 8866b3ae..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/PagedAndSortedBase.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.Common -{ - public class PagedAndSortedBase - { - public int maxResultCount = 5; - public int MaxResultCount - { - get - { - return maxResultCount; - } - set - { - maxResultCount = value; - } - } - public int SkipCount { get; set; } - public string Sorting { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/PermutationAndCombination.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/PermutationAndCombination.cs deleted file mode 100644 index 8cdbb9be..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/PermutationAndCombination.cs +++ /dev/null @@ -1,148 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.Common -{ - public class PermutationAndCombination - { - /// - /// 交换两个变量 - /// - /// 变量1 - /// 变量2 - public static void Swap(ref T a, ref T b) - { - T temp = a; - a = b; - b = temp; - } - /// - /// 递归算法求数组的组合(私有成员) - /// - /// 返回的范型 - /// 所求数组 - /// 辅助变量 - /// 辅助变量 - /// 辅助数组 - /// 辅助变量M - private static void GetCombination(ref List list, T[] t, int n, int m, int[] b, int M) - { - for (int i = n; i >= m; i--) - { - b[m - 1] = i - 1; - if (m > 1) - { - GetCombination(ref list, t, i - 1, m - 1, b, M); - } - else - { - if (list == null) - { - list = new List(); - } - T[] temp = new T[M]; - for (int j = 0; j < b.Length; j++) - { - temp[j] = t[b[j]]; - } - list.Add(temp); - } - } - } - /// - /// 递归算法求排列(私有成员) - /// - /// 返回的列表 - /// 所求数组 - /// 起始标号 - /// 结束标号 - private static void GetPermutation(ref List list, T[] t, int startIndex, int endIndex) - { - if (startIndex == endIndex) - { - if (list == null) - { - list = new List(); - } - T[] temp = new T[t.Length]; - t.CopyTo(temp, 0); - list.Add(temp); - } - else - { - for (int i = startIndex; i <= endIndex; i++) - { - Swap(ref t[startIndex], ref t[i]); - GetPermutation(ref list, t, startIndex + 1, endIndex); - Swap(ref t[startIndex], ref t[i]); - } - } - } - /// - /// 求从起始标号到结束标号的排列,其余元素不变 - /// - /// 所求数组 - /// 起始标号 - /// 结束标号 - /// 从起始标号到结束标号排列的范型 - public static List GetPermutation(T[] t, int startIndex, int endIndex) - { - if (startIndex < 0 || endIndex > t.Length - 1) - { - return null; - } - List list = new List(); - GetPermutation(ref list, t, startIndex, endIndex); - return list; - } - /// - /// 返回数组所有元素的全排列 - /// - /// 所求数组 - /// 全排列的范型 - public static List GetPermutation(T[] t) - { - return GetPermutation(t, 0, t.Length - 1); - } - /// - /// 求数组中n个元素的排列 - /// - /// 所求数组 - /// 元素个数 - /// 数组中n个元素的排列 - public static List GetPermutation(T[] t, int n) - { - if (n > t.Length) - { - return null; - } - List list = new List(); - List c = GetCombination(t, n); - for (int i = 0; i < c.Count; i++) - { - List l = new List(); - GetPermutation(ref l, c[i], 0, n - 1); - list.AddRange(l); - } - return list; - } - /// - /// 求数组中n个元素的组合 - /// - /// 所求数组 - /// 元素个数 - /// 数组中n个元素的组合的范型 - public static List GetCombination(T[] t, int n) - { - if (t.Length < n) - { - return null; - } - int[] temp = new int[n]; - List list = new List(); - GetCombination(ref list, t, t.Length, n, temp, n); - return list; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ServerHelper.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ServerHelper.cs deleted file mode 100644 index 4040bdcf..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/ServerHelper.cs +++ /dev/null @@ -1,47 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit -{ - public static class ServerHelper - { - public static DateTime CurrentDateTime - { - get - { - return DateTime.Now; - } - } - - /// - /// 取当前时间字符串 - /// - public static string CurrentDateTimeString - { - get - { - return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); - } - } - - public static List GetGuidListByStr(string arrayStr) - { - List ret = new List(); - try - { - string[] arr = arrayStr.Trim().Split(','); - foreach (string item in arr) - { - Guid gu = new Guid(item); - ret.Add(gu); - } - return ret; - } - catch (Exception ex) - { - return ret; - } - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/SwaggerGroupConsts.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/SwaggerGroupConsts.cs deleted file mode 100644 index 3d5a29af..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Common/SwaggerGroupConsts.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; - -namespace WY.NewJit.Common -{ - public static class SwaggerGroupConsts - { - public const string 默认 = "默认"; - public const string 报文传输 = "报文传输"; - public const string 报文转换 = "报文转换"; - public const string 报文解析及校验 = "报文解析及校验"; - public const string 基础数据 = "基础数据"; - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/ar.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/ar.json deleted file mode 100644 index 05cb96a9..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/ar.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "ar", - "texts": { - "Menu:Home": "الرئيسية", - "Welcome": "مرحبا", - "LongWelcomeMessage": "مرحبا بكم في التطبيق. هذا مشروع بدء تشغيل يعتمد على إطار عمل ABP. لمزيد من المعلومات ، يرجى زيارة abp.io." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/cs.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/cs.json deleted file mode 100644 index 5a0bbf61..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/cs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "cs", - "texts": { - "Menu:Home": "Úvod", - "Welcome": "Vítejte", - "LongWelcomeMessage": "Vítejte v aplikaci. Toto je startovací projekt založený na ABP frameworku. Pro více informací, navštivte abp.io." - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/de-DE.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/de-DE.json deleted file mode 100644 index aca4528c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/de-DE.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "de-DE", - "texts": { - "Menu:Home": "Home", - "Welcome": "Willkommen", - "LongWelcomeMessage": "Willkommen bei der Anwendung. Dies ist ein Startup-Projekt, das auf dem ABP-Framework basiert. Weitere Informationen finden Sie unter abp.io." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/en-GB.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/en-GB.json deleted file mode 100644 index d2ca0793..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/en-GB.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "en-GB", - "texts": { - "Menu:Home": "Home", - "Welcome": "Welcome", - "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/en.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/en.json deleted file mode 100644 index d2a6a983..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/en.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "en", - "texts": { - "Menu:Home": "Home", - "Welcome": "Welcome", - "LongWelcomeMessage": "Welcome to the application. This is a startup project based on the ABP framework. For more information, visit abp.io." - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/es.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/es.json deleted file mode 100644 index 31b4b59e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/es.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "es", - "texts": { - "Menu:Home": "Inicio", - "Welcome": "Bienvenido", - "LongWelcomeMessage": "Bienvenido a la aplicación, este es un proyecto base basado en el framework ABP. Para más información, visita abp.io." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/fr.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/fr.json deleted file mode 100644 index e76eac0c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/fr.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "fr", - "texts": { - "Menu:Home": "Accueil", - "Welcome": "Bienvenue", - "LongWelcomeMessage": "Bienvenue dans l'application. Il s'agit d'un projet de démarrage basé sur le framework ABP. Pour plus d'informations, visitez abp.io." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/hu.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/hu.json deleted file mode 100644 index c7b6a33a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/hu.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "hu", - "texts": { - "Menu:Home": "Kezdőlap", - "Welcome": "Üdvözlöm", - "LongWelcomeMessage": "Üdvözöljük az alkalmazásban. Ez egy ABP keretrendszeren alapuló startup projekt. További információkért látogasson el az abp.io oldalra." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/nl.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/nl.json deleted file mode 100644 index 9ba8da47..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/nl.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "nl", - "texts": { - "Menu:Home": "Home", - "Welcome": "Welkom", - "LongWelcomeMessage": "Welkom bij de applicatie. Dit is een startup-project gebaseerd op het ABP-framework. Bezoek abp.io voor meer informatie." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/pl-PL.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/pl-PL.json deleted file mode 100644 index 33412f30..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/pl-PL.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "pl-PL", - "texts": { - "Menu:Home": "Home", - "Welcome": "Witaj", - "LongWelcomeMessage": "Witaj w aplikacji. To jest inicjalny projekt bazujący na ABP framework. Po więcej informacji odwiedź stronę abp.io." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/pt-BR.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/pt-BR.json deleted file mode 100644 index 8c818a07..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/pt-BR.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "pt-BR", - "texts": { - "Menu:Home": "Principal", - "Welcome": "Seja bem-vindo!", - "LongWelcomeMessage": "Bem-vindo a esta aplicação. Este é um projeto inicial baseado no ABP framework. Para mais informações, visite abp.io." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/ru.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/ru.json deleted file mode 100644 index 8464e443..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/ru.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "ru", - "texts": { - "Menu:Home": "Главная", - "Welcome": "Добро пожаловать", - "LongWelcomeMessage": "Добро пожаловать в приложение. Этот запущенный проект основан на фреймворке ABP. Для получения дополнительной информации посетите сайт abp.io." - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/sl.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/sl.json deleted file mode 100644 index a066ef26..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/sl.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "sl", - "texts": { - "Menu:Home": "Domov", - "Welcome": "Dobrodošli", - "LongWelcomeMessage": "Dobrodošli v aplikaciji. To je začetni projekt na osnovi okolja ABP. Za več informacij obiščite abp.io." - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/tr.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/tr.json deleted file mode 100644 index 5bf83ee7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/tr.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "tr", - "texts": { - "Menu:Home": "Ana sayfa", - "Welcome": "Hoşgeldiniz", - "LongWelcomeMessage": "Uygulamaya hoşgeldiniz. Bu, ABP framework'ü üzerine bina edilmiş bir başlangıç projesidir. Daha fazla bilgi için abp.io adresini ziyaret edebilirsiniz." - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/vi.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/vi.json deleted file mode 100644 index c115a357..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/vi.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "vi", - "texts": { - "Menu:Home": "Trang chủ", - "Welcome": "Chào mừng bạn", - "LongWelcomeMessage": "Chào mừng bạn đến ứng dụng. Đây là một dự án khởi nghiệp dựa trên khung ABP. Để biết thêm thông tin, hãy truy cập abp.io." - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hans.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hans.json deleted file mode 100644 index 23790bde..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hans.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "zh-Hans", - "texts": { - "Menu:Home": "首页", - "Welcome": "欢迎", - "LongWelcomeMessage": "欢迎来到该应用程序. 这是一个基于ABP框架的启动项目. 有关更多信息, 请访问 abp.io." - } - } \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hant.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hant.json deleted file mode 100644 index 31e0ab5a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJit/zh-Hant.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "culture": "zh-Hant", - "texts": { - "Menu:Home": "首頁", - "Welcome": "歡迎", - "LongWelcomeMessage": "歡迎來到此應用程式. 這是一個基於ABP框架的起始專案. 有關更多訊息, 請瀏覽 abp.io." - } - } \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJitResource.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJitResource.cs deleted file mode 100644 index f9e45dd2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/Localization/NewJitResource.cs +++ /dev/null @@ -1,10 +0,0 @@ -using Volo.Abp.Localization; - -namespace WY.NewJit.Localization -{ - [LocalizationResourceName("NewJit")] - public class NewJitResource - { - - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgBaseData/LogTypeEnum.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgBaseData/LogTypeEnum.cs deleted file mode 100644 index b4883945..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgBaseData/LogTypeEnum.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Text; - -namespace WY.NewJit.MsgBaseData -{ - public enum LogTypeEnum - { - [Description("空")] - None = 0, - /// - /// 报文传输异常 - /// - [Description("R100")] - R100 = 1, - - /// - /// 报文转换异常 - /// - [Description("M100")] - M100 = 2 - - } - - public enum LogStatusEnum - { - [Description("空")] - None = 0, - /// - /// 已处理 - /// - [Description("已处理")] - Process = 1, - - /// - /// 已忽略 - /// - [Description("已忽略")] - Ignore = 2 - - - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgBaseData/SeriousLevelEnum.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgBaseData/SeriousLevelEnum.cs deleted file mode 100644 index f5e07c4e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgBaseData/SeriousLevelEnum.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Text; - -namespace WY.NewJit.MsgBaseData -{ - public enum SeriousLevelEnum - { - [Description("空")] - None = 0, - /// - /// 轻微 - /// - [Description("轻微")] - Slight = 1, - /// - /// 一般 - /// - [Description("一般")] - General = 2, - /// - /// 严重 - /// - [Description("严重")] - Serious = 3 - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/BillStatusEnum.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/BillStatusEnum.cs deleted file mode 100644 index 17463851..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/BillStatusEnum.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Text; - -namespace WY.NewJit.MsgCheck -{ - public enum BillStatusEnum - { - [Description("空")] - None = 0, - - /// - /// 未匹配 - /// - [Description("未匹配")] - NotMatch = 1, - - /// - /// 已匹配,未发布 - /// - [Description("已匹配")] - Match = 2, - - /// - /// 已发布 - /// - [Description("已导出")] - Publish = 3, - - /// - /// 预批量 - /// - [Description("预批量")] - PreBatch = -1, - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/ManualOperationTypeEnum.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/ManualOperationTypeEnum.cs deleted file mode 100644 index b769c921..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgCheck/ManualOperationTypeEnum.cs +++ /dev/null @@ -1,27 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Text; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 手工操作类型 - /// - public enum ManualOperationTypeEnum - { - [Description("空")] - None = 0, - /// - /// 手工添加M100单据 - /// - [Description("手工添加M100单据")] - New = 1, - - /// - /// 手工修改M100单据 - /// - [Description("手工修改M100单据")] - Modify = 2 - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgTransmission/ReceiveStatusEnum.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgTransmission/ReceiveStatusEnum.cs deleted file mode 100644 index 6e6dbd9a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgTransmission/ReceiveStatusEnum.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Text; - -namespace WY.NewJit.MsgTransmission -{ - public enum ReceiveStatusEnum - { - /// - /// 已接收 - /// - [Description("已接收")] - Received, - - /// - /// 已归档 - /// - [Description("已归档")] - Archived, - - /// - /// 归档失败 - /// - [Description("归档失败")] - ArchiveFailed - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgTransmission/TransmissionModeType.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgTransmission/TransmissionModeType.cs deleted file mode 100644 index b2b1e495..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MsgTransmission/TransmissionModeType.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Text; - -namespace WY.NewJit.MsgTransmission -{ - public enum TransmissionModeTypeEnum - { - /// - /// 目录读取 - /// - [Description("目录读取")] - PathRead = 1, - - /// - /// 文件服务器读取 - /// - [Description("文件服务器读取")] - FTPRead = 2, - - /// - /// WebApi读取 - /// - [Description("WebApi读取")] - WebApiRead = 3 - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs deleted file mode 100644 index 6f182209..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace WY.NewJit.MultiTenancy -{ - public static class MultiTenancyConsts - { - /* Enable/disable multi-tenancy easily in a single point. - * If you will never need to multi-tenancy, you can remove - * related modules and code parts, including this file. - */ - public const bool IsEnabled = true; - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitDomainErrorCodes.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitDomainErrorCodes.cs deleted file mode 100644 index d1979210..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitDomainErrorCodes.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace WY.NewJit -{ - public static class NewJitDomainErrorCodes - { - /* You can add your business exception error codes here, as constants */ - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitDomainSharedModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitDomainSharedModule.cs deleted file mode 100644 index 9cc608bf..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitDomainSharedModule.cs +++ /dev/null @@ -1,63 +0,0 @@ -using WY.NewJit.Localization; -using Volo.Abp.AuditLogging; -using Volo.Abp.BackgroundJobs; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.IdentityServer; -using Volo.Abp.Localization; -using Volo.Abp.Localization.ExceptionHandling; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; -using Volo.Abp.Validation.Localization; -using Volo.Abp.VirtualFileSystem; -using Volo.Abp.BlobStoring; -using Volo.Abp.BlobStoring.FileSystem; - -namespace WY.NewJit -{ - [DependsOn( - typeof(AbpAuditLoggingDomainSharedModule), - typeof(AbpBackgroundJobsDomainSharedModule), - typeof(AbpFeatureManagementDomainSharedModule), - typeof(AbpIdentityDomainSharedModule), - typeof(AbpIdentityServerDomainSharedModule), - typeof(AbpPermissionManagementDomainSharedModule), - typeof(AbpSettingManagementDomainSharedModule), - typeof(AbpTenantManagementDomainSharedModule) - )] - [DependsOn(typeof(AbpBlobStoringModule))] - [DependsOn(typeof(AbpBlobStoringFileSystemModule))] - public class NewJitDomainSharedModule : AbpModule - { - public override void PreConfigureServices(ServiceConfigurationContext context) - { - NewJitGlobalFeatureConfigurator.Configure(); - NewJitModuleExtensionConfigurator.Configure(); - } - - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.FileSets.AddEmbedded(); - }); - - Configure(options => - { - options.Resources - .Add("en") - .AddBaseTypes(typeof(AbpValidationResource)) - .AddVirtualJson("/Localization/NewJit"); - - options.DefaultResourceType = typeof(NewJitResource); - }); - - Configure(options => - { - options.MapCodeNamespace("NewJit", typeof(NewJitResource)); - }); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitGlobalFeatureConfigurator.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitGlobalFeatureConfigurator.cs deleted file mode 100644 index c4226784..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitGlobalFeatureConfigurator.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Volo.Abp.Threading; - -namespace WY.NewJit -{ - public static class NewJitGlobalFeatureConfigurator - { - private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); - - public static void Configure() - { - OneTimeRunner.Run(() => - { - /* You can configure (enable/disable) global features of the used modules here. - * - * YOU CAN SAFELY DELETE THIS CLASS AND REMOVE ITS USAGES IF YOU DON'T NEED TO IT! - * - * Please refer to the documentation to lear more about the Global Features System: - * https://docs.abp.io/en/abp/latest/Global-Features - */ - }); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitModuleExtensionConfigurator.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitModuleExtensionConfigurator.cs deleted file mode 100644 index 0e2ec5fe..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/NewJitModuleExtensionConfigurator.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System.ComponentModel.DataAnnotations; -using Volo.Abp.Identity; -using Volo.Abp.ObjectExtending; -using Volo.Abp.Threading; - -namespace WY.NewJit -{ - public static class NewJitModuleExtensionConfigurator - { - private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); - - public static void Configure() - { - OneTimeRunner.Run(() => - { - ConfigureExistingProperties(); - ConfigureExtraProperties(); - }); - } - - private static void ConfigureExistingProperties() - { - /* You can change max lengths for properties of the - * entities defined in the modules used by your application. - * - * Example: Change user and role name max lengths - - IdentityUserConsts.MaxNameLength = 99; - IdentityRoleConsts.MaxNameLength = 99; - - * Notice: It is not suggested to change property lengths - * unless you really need it. Go with the standard values wherever possible. - * - * If you are using EF Core, you will need to run the add-migration command after your changes. - */ - } - - private static void ConfigureExtraProperties() - { - /* You can configure extra properties for the - * entities defined in the modules used by your application. - * - * This class can be used to define these extra properties - * with a high level, easy to use API. - * - * Example: Add a new property to the user entity of the identity module - - ObjectExtensionManager.Instance.Modules() - .ConfigureIdentity(identity => - { - identity.ConfigureUser(user => - { - user.AddOrUpdateProperty( //property type: string - "SocialSecurityNumber", //property name - property => - { - //validation rules - property.Attributes.Add(new RequiredAttribute()); - property.Attributes.Add(new StringLengthAttribute(64) {MinimumLength = 4}); - - //...other configurations for this property - } - ); - }); - }); - - * See the documentation for more: - * https://docs.abp.io/en/abp/latest/Module-Entity-Extensions - */ - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/WY.NewJit.Domain.Shared.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/WY.NewJit.Domain.Shared.csproj deleted file mode 100644 index 4383a0f1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain.Shared/WY.NewJit.Domain.Shared.csproj +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - netstandard2.0 - WY.NewJit - true - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Books/Book.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Books/Book.cs deleted file mode 100644 index 051d2ca1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Books/Book.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.Books -{ - /// - /// 图书聚合根:AuditedAggregateRoot类在AggregateRoot类的基础上添加了一些审计属性(CreationTime, CreatorId, LastModificationTime 等). ABP框架自动为你管理这些属性. - /// - public class Book : AuditedAggregateRoot //??【1】 - { - public string Name { get; set; } - - public BookType Type { get; set; } - - public DateTime PublishDate { get; set; } - - public float Price { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Books/BookStoreDataSeederContributor.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Books/BookStoreDataSeederContributor.cs deleted file mode 100644 index 7f38b5a1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Books/BookStoreDataSeederContributor.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Threading.Tasks; - -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories; -using WY.NewJit.Books; - -namespace Acme.BookStore -{ - public class BookStoreDataSeederContributor - : IDataSeedContributor, ITransientDependency - { - private readonly IRepository _bookRepository; - - public BookStoreDataSeederContributor(IRepository bookRepository) - { - _bookRepository = bookRepository; - } - - public async Task SeedAsync(DataSeedContext context) - { - if (await _bookRepository.GetCountAsync() <= 0) - { - await _bookRepository.InsertAsync( - new Book - { - Name = "1984", - Type = BookType.Dystopia, - PublishDate = new DateTime(1949, 6, 8), - Price = 19.84f - }, - autoSave: true - ); - - await _bookRepository.InsertAsync( - new Book - { - Name = "The Hitchhiker's Guide to the Galaxy", - Type = BookType.ScienceFiction, - PublishDate = new DateTime(1995, 9, 27), - Price = 42.0f - }, - autoSave: true - ); - } - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/INewJitDbSchemaMigrator.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/INewJitDbSchemaMigrator.cs deleted file mode 100644 index 5f380bf9..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/INewJitDbSchemaMigrator.cs +++ /dev/null @@ -1,9 +0,0 @@ -using System.Threading.Tasks; - -namespace WY.NewJit.Data -{ - public interface INewJitDbSchemaMigrator - { - Task MigrateAsync(); - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/NewJitDbMigrationService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/NewJitDbMigrationService.cs deleted file mode 100644 index d54d3b51..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/NewJitDbMigrationService.cs +++ /dev/null @@ -1,220 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices; -using System.Threading.Tasks; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.Logging.Abstractions; -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Identity; -using Volo.Abp.MultiTenancy; -using Volo.Abp.TenantManagement; - -namespace WY.NewJit.Data -{ - public class NewJitDbMigrationService : ITransientDependency - { - public ILogger Logger { get; set; } - - private readonly IDataSeeder _dataSeeder; - private readonly IEnumerable _dbSchemaMigrators; - private readonly ITenantRepository _tenantRepository; - private readonly ICurrentTenant _currentTenant; - - public NewJitDbMigrationService( - IDataSeeder dataSeeder, - IEnumerable dbSchemaMigrators, - ITenantRepository tenantRepository, - ICurrentTenant currentTenant) - { - _dataSeeder = dataSeeder; - _dbSchemaMigrators = dbSchemaMigrators; - _tenantRepository = tenantRepository; - _currentTenant = currentTenant; - - Logger = NullLogger.Instance; - } - - public async Task MigrateAsync() - { - var initialMigrationAdded = AddInitialMigrationIfNotExist(); - - if (initialMigrationAdded) - { - return; - } - - Logger.LogInformation("Started database migrations..."); - - await MigrateDatabaseSchemaAsync(); - await SeedDataAsync(); - - Logger.LogInformation($"Successfully completed host database migrations."); - - var tenants = await _tenantRepository.GetListAsync(includeDetails: true); - - var migratedDatabaseSchemas = new HashSet(); - foreach (var tenant in tenants) - { - using (_currentTenant.Change(tenant.Id)) - { - if (tenant.ConnectionStrings.Any()) - { - var tenantConnectionStrings = tenant.ConnectionStrings - .Select(x => x.Value) - .ToList(); - - if (!migratedDatabaseSchemas.IsSupersetOf(tenantConnectionStrings)) - { - await MigrateDatabaseSchemaAsync(tenant); - - migratedDatabaseSchemas.AddIfNotContains(tenantConnectionStrings); - } - } - - await SeedDataAsync(tenant); - } - - Logger.LogInformation($"Successfully completed {tenant.Name} tenant database migrations."); - } - - Logger.LogInformation("Successfully completed all database migrations."); - Logger.LogInformation("You can safely end this process..."); - } - - private async Task MigrateDatabaseSchemaAsync(Tenant tenant = null) - { - Logger.LogInformation( - $"Migrating schema for {(tenant == null ? "host" : tenant.Name + " tenant")} database..."); - - foreach (var migrator in _dbSchemaMigrators) - { - await migrator.MigrateAsync(); - } - } - - private async Task SeedDataAsync(Tenant tenant = null) - { - Logger.LogInformation($"Executing {(tenant == null ? "host" : tenant.Name + " tenant")} database seed..."); - - await _dataSeeder.SeedAsync(new DataSeedContext(tenant?.Id) - .WithProperty(IdentityDataSeedContributor.AdminEmailPropertyName, IdentityDataSeedContributor.AdminEmailDefaultValue) - .WithProperty(IdentityDataSeedContributor.AdminPasswordPropertyName, IdentityDataSeedContributor.AdminPasswordDefaultValue) - ); - } - - private bool AddInitialMigrationIfNotExist() - { - try - { - if (!DbMigrationsProjectExists()) - { - return false; - } - } - catch (Exception) - { - return false; - } - - try - { - if (!MigrationsFolderExists()) - { - AddInitialMigration(); - return true; - } - else - { - return false; - } - } - catch (Exception e) - { - Logger.LogWarning("Couldn't determinate if any migrations exist : " + e.Message); - return false; - } - } - - private bool DbMigrationsProjectExists() - { - var dbMigrationsProjectFolder = GetDbMigrationsProjectFolderPath(); - - return dbMigrationsProjectFolder != null; - } - - private bool MigrationsFolderExists() - { - var dbMigrationsProjectFolder = GetDbMigrationsProjectFolderPath(); - - return Directory.Exists(Path.Combine(dbMigrationsProjectFolder, "Migrations")); - } - - private void AddInitialMigration() - { - Logger.LogInformation("Creating initial migration..."); - - string argumentPrefix; - string fileName; - - if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX) || RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) - { - argumentPrefix = "-c"; - fileName = "/bin/bash"; - } - else - { - argumentPrefix = "/C"; - fileName = "cmd.exe"; - } - - var procStartInfo = new ProcessStartInfo(fileName, - $"{argumentPrefix} \"abp create-migration-and-run-migrator \"{GetDbMigrationsProjectFolderPath()}\"\"" - ); - - try - { - Process.Start(procStartInfo); - } - catch (Exception) - { - throw new Exception("Couldn't run ABP CLI..."); - } - } - - private string GetDbMigrationsProjectFolderPath() - { - var slnDirectoryPath = GetSolutionDirectoryPath(); - - if (slnDirectoryPath == null) - { - throw new Exception("Solution folder not found!"); - } - - var srcDirectoryPath = Path.Combine(slnDirectoryPath, "src"); - - return Directory.GetDirectories(srcDirectoryPath) - .FirstOrDefault(d => d.EndsWith(".DbMigrations")); - } - - private string GetSolutionDirectoryPath() - { - var currentDirectory = new DirectoryInfo(Directory.GetCurrentDirectory()); - - while (Directory.GetParent(currentDirectory.FullName) != null) - { - currentDirectory = Directory.GetParent(currentDirectory.FullName); - - if (Directory.GetFiles(currentDirectory.FullName).FirstOrDefault(f => f.EndsWith(".sln")) != null) - { - return currentDirectory.FullName; - } - } - - return null; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/NullNewJitDbSchemaMigrator.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/NullNewJitDbSchemaMigrator.cs deleted file mode 100644 index 59a996f6..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Data/NullNewJitDbSchemaMigrator.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; - -namespace WY.NewJit.Data -{ - /* This is used if database provider does't define - * INewJitDbSchemaMigrator implementation. - */ - public class NullNewJitDbSchemaMigrator : INewJitDbSchemaMigrator, ITransientDependency - { - public Task MigrateAsync() - { - return Task.CompletedTask; - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/IRepositories/INewJitDapperRepository.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/IRepositories/INewJitDapperRepository.cs deleted file mode 100644 index f347067c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/IRepositories/INewJitDapperRepository.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.EntityFrameworkCore; - -namespace WY.NewJit.IRepositories -{ - public interface INewJitDapperRepository : ITransientDependency - { - Task> GetListBySqlAsync(string sql, bool isTrans = false); - - Task GetSingleBySqlAsync(string sql, bool isTrans = false); - - Task ExecuteSqlAsync(string sql, object obj = null, bool isTrans = false); - - List GetListBySql(string sql, bool isTrans = false); - T GetSingleBySql(string sql, bool isTrans = false); - - int ExecuteSql(string sql, object obj = null, bool isTrans = false); - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/IdentityServer/IdentityServerDataSeedContributor.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/IdentityServer/IdentityServerDataSeedContributor.cs deleted file mode 100644 index 45b9d5b5..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/IdentityServer/IdentityServerDataSeedContributor.cs +++ /dev/null @@ -1,288 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using IdentityServer4.Models; -using Microsoft.Extensions.Configuration; -using Volo.Abp.Authorization.Permissions; -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Guids; -using Volo.Abp.IdentityServer.ApiResources; -using Volo.Abp.IdentityServer.ApiScopes; -using Volo.Abp.IdentityServer.Clients; -using Volo.Abp.IdentityServer.IdentityResources; -using Volo.Abp.MultiTenancy; -using Volo.Abp.PermissionManagement; -using Volo.Abp.Uow; -using ApiResource = Volo.Abp.IdentityServer.ApiResources.ApiResource; -using ApiScope = Volo.Abp.IdentityServer.ApiScopes.ApiScope; -using Client = Volo.Abp.IdentityServer.Clients.Client; - -namespace WY.NewJit.IdentityServer -{ - public class IdentityServerDataSeedContributor : IDataSeedContributor, ITransientDependency - { - private readonly IApiResourceRepository _apiResourceRepository; - private readonly IApiScopeRepository _apiScopeRepository; - private readonly IClientRepository _clientRepository; - private readonly IIdentityResourceDataSeeder _identityResourceDataSeeder; - private readonly IGuidGenerator _guidGenerator; - private readonly IPermissionDataSeeder _permissionDataSeeder; - private readonly IConfiguration _configuration; - private readonly ICurrentTenant _currentTenant; - - public IdentityServerDataSeedContributor( - IClientRepository clientRepository, - IApiResourceRepository apiResourceRepository, - IApiScopeRepository apiScopeRepository, - IIdentityResourceDataSeeder identityResourceDataSeeder, - IGuidGenerator guidGenerator, - IPermissionDataSeeder permissionDataSeeder, - IConfiguration configuration, - ICurrentTenant currentTenant) - { - _clientRepository = clientRepository; - _apiResourceRepository = apiResourceRepository; - _apiScopeRepository = apiScopeRepository; - _identityResourceDataSeeder = identityResourceDataSeeder; - _guidGenerator = guidGenerator; - _permissionDataSeeder = permissionDataSeeder; - _configuration = configuration; - _currentTenant = currentTenant; - } - - [UnitOfWork] - public virtual async Task SeedAsync(DataSeedContext context) - { - using (_currentTenant.Change(context?.TenantId)) - { - await _identityResourceDataSeeder.CreateStandardResourcesAsync(); - await CreateApiResourcesAsync(); - await CreateApiScopesAsync(); - await CreateClientsAsync(); - } - } - - private async Task CreateApiScopesAsync() - { - await CreateApiScopeAsync("NewJit"); - } - - private async Task CreateApiResourcesAsync() - { - var commonApiUserClaims = new[] - { - "email", - "email_verified", - "name", - "phone_number", - "phone_number_verified", - "role" - }; - - await CreateApiResourceAsync("NewJit", commonApiUserClaims); - } - - private async Task CreateApiResourceAsync(string name, IEnumerable claims) - { - var apiResource = await _apiResourceRepository.FindByNameAsync(name); - if (apiResource == null) - { - apiResource = await _apiResourceRepository.InsertAsync( - new ApiResource( - _guidGenerator.Create(), - name, - name + " API" - ), - autoSave: true - ); - } - - foreach (var claim in claims) - { - if (apiResource.FindClaim(claim) == null) - { - apiResource.AddUserClaim(claim); - } - } - - return await _apiResourceRepository.UpdateAsync(apiResource); - } - - private async Task CreateApiScopeAsync(string name) - { - var apiScope = await _apiScopeRepository.GetByNameAsync(name); - if (apiScope == null) - { - apiScope = await _apiScopeRepository.InsertAsync( - new ApiScope( - _guidGenerator.Create(), - name, - name + " API" - ), - autoSave: true - ); - } - - return apiScope; - } - - private async Task CreateClientsAsync() - { - var commonScopes = new[] - { - "email", - "openid", - "profile", - "role", - "phone", - "address", - "NewJit" - }; - - var configurationSection = _configuration.GetSection("IdentityServer:Clients"); - - - //Console Test / Angular Client - var consoleAndAngularClientId = configurationSection["NewJit_App:ClientId"]; - if (!consoleAndAngularClientId.IsNullOrWhiteSpace()) - { - var webClientRootUrl = configurationSection["NewJit_App:RootUrl"]?.TrimEnd('/'); - - await CreateClientAsync( - name: consoleAndAngularClientId, - scopes: commonScopes, - grantTypes: new[] { "password", "client_credentials", "authorization_code" }, - secret: (configurationSection["NewJit_App:ClientSecret"] ?? "1q2w3e*").Sha256(), - requireClientSecret: false, - redirectUri: webClientRootUrl, - postLogoutRedirectUri: webClientRootUrl, - corsOrigins: new[] { webClientRootUrl.RemovePostFix("/") } - ); - } - - - - // Swagger Client - var swaggerClientId = configurationSection["NewJit_Swagger:ClientId"]; - if (!swaggerClientId.IsNullOrWhiteSpace()) - { - var swaggerRootUrl = configurationSection["NewJit_Swagger:RootUrl"].TrimEnd('/'); - - await CreateClientAsync( - name: swaggerClientId, - scopes: commonScopes, - grantTypes: new[] { "authorization_code" }, - secret: configurationSection["NewJit_Swagger:ClientSecret"]?.Sha256(), - requireClientSecret: false, - redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html", - corsOrigins: new[] { swaggerRootUrl.RemovePostFix("/") } - ); - } - } - - private async Task CreateClientAsync( - string name, - IEnumerable scopes, - IEnumerable grantTypes, - string secret = null, - string redirectUri = null, - string postLogoutRedirectUri = null, - string frontChannelLogoutUri = null, - bool requireClientSecret = true, - bool requirePkce = false, - IEnumerable permissions = null, - IEnumerable corsOrigins = null) - { - var client = await _clientRepository.FindByClientIdAsync(name); - if (client == null) - { - client = await _clientRepository.InsertAsync( - new Client( - _guidGenerator.Create(), - name - ) - { - ClientName = name, - ProtocolType = "oidc", - Description = name, - AlwaysIncludeUserClaimsInIdToken = true, - AllowOfflineAccess = true, - AbsoluteRefreshTokenLifetime = 31536000, //365 days - AccessTokenLifetime = 31536000, //365 days - AuthorizationCodeLifetime = 300, - IdentityTokenLifetime = 300, - RequireConsent = false, - FrontChannelLogoutUri = frontChannelLogoutUri, - RequireClientSecret = requireClientSecret, - RequirePkce = requirePkce - }, - autoSave: true - ); - } - - foreach (var scope in scopes) - { - if (client.FindScope(scope) == null) - { - client.AddScope(scope); - } - } - - foreach (var grantType in grantTypes) - { - if (client.FindGrantType(grantType) == null) - { - client.AddGrantType(grantType); - } - } - - if (!secret.IsNullOrEmpty()) - { - if (client.FindSecret(secret) == null) - { - client.AddSecret(secret); - } - } - - if (redirectUri != null) - { - if (client.FindRedirectUri(redirectUri) == null) - { - client.AddRedirectUri(redirectUri); - } - } - - if (postLogoutRedirectUri != null) - { - if (client.FindPostLogoutRedirectUri(postLogoutRedirectUri) == null) - { - client.AddPostLogoutRedirectUri(postLogoutRedirectUri); - } - } - - if (permissions != null) - { - await _permissionDataSeeder.SeedAsync( - ClientPermissionValueProvider.ProviderName, - name, - permissions, - null - ); - } - - if (corsOrigins != null) - { - foreach (var origin in corsOrigins) - { - if (!origin.IsNullOrWhiteSpace() && client.FindCorsOrigin(origin) == null) - { - client.AddCorsOrigin(origin); - } - } - } - - return await _clientRepository.UpdateAsync(client); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgErp.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgErp.cs deleted file mode 100644 index d781baef..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgErp.cs +++ /dev/null @@ -1,104 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// ERP总成 - /// - public class AssemblyCfgErp : FullAuditedAggregateRoot - { - /// - /// ERP总成编码 - /// - public virtual string ErpAssemblyCode { get; protected set; } - - /// - /// ERP总成名称 - /// - public virtual string ErpAssemblyName { get; protected set; } - - /// - /// ERP总成版本 - /// - public virtual int ErpAssemblyVersion { get; protected set; } - - /// - /// 车型 - /// - public virtual string VehicleModel { get; protected set; } - - /// - /// 有值时表示旧版本总成 - /// - public virtual Guid? PreviousVersionId { get; protected set; } - - /// - /// 和核算系统关联Id,用于增量取数 - /// - public virtual string RelationKey { get; protected set; } - - /// - /// 结算件列表 - /// - public virtual List Details { get; protected set; } - - protected AssemblyCfgErp() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - protected AssemblyCfgErp(Guid id) - :base(id) - { } - - public AssemblyCfgErp(Guid id, string erpAssemblyCode, string erpAssemblyName, int erpAssemblyVersion, Guid? previousVersionId = null, string relationKey = null) - : base(id) - { - ErpAssemblyCode = erpAssemblyCode; - ErpAssemblyName = erpAssemblyName; - ErpAssemblyVersion = erpAssemblyVersion; - PreviousVersionId = previousVersionId; - RelationKey = relationKey; - Details = new List(); - } - - public virtual void SetErpAssemblyVersion(int erpAssemblyVersion) - { - this.ErpAssemblyVersion = erpAssemblyVersion; - } - - public virtual void SetPreviousVersionId(Guid? previousVersionId) - { - this.PreviousVersionId = previousVersionId; - } - - - - - /// - /// 添加子实体 - /// - /// - /// - /// - /// - /// - public virtual void AddChildObject(Guid id, string partCode, double? partNum, string description = "", bool isKey = false) - { - if (this.Details.Any(itm => itm.Id == id)) - { - return; - } - AssemblyCfgPart childObj = new AssemblyCfgPart(id, partCode, partNum, description, isKey); - this.Details.Add(childObj); - } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgPart.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgPart.cs deleted file mode 100644 index bf43f6a3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgPart.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 总成和零件关系表 - /// - public class AssemblyCfgPart : OurAggregateRoot - { - /// - /// 客户零件代码 - /// - public virtual string PartCode { get; protected set; } - - /// - /// 客户零件数量 - /// - public virtual double? PartNum { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; protected set; } - - /// - /// 是否Key件 - /// - public virtual bool IsKey { get; protected set; } - - protected AssemblyCfgPart() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public AssemblyCfgPart(Guid id) - :base(id) - { } - - public AssemblyCfgPart(Guid id, string partCode, double? partNum, string description = "", bool isKey = false) - :base(id) - { - PartCode = partCode; - PartNum = partNum; - Description = description; - IsKey = isKey; - } - - } - - public class OurAggregateRoot : FullAuditedAggregateRoot - { - public override Guid Id { get; protected set; } - public virtual void SetId(Guid id) - { - this.Id = id; - } - - protected OurAggregateRoot() - { } - - public OurAggregateRoot(Guid id) - :base(id) - { - - } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicle.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicle.cs deleted file mode 100644 index 75857057..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicle.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 总成配置 - /// - public class AssemblyCfgVehicle : FullAuditedAggregateRoot - { - /// - /// 总成名称 - /// - public virtual string AssemblyName { get; protected set; } - /// - /// 车型 - /// - public virtual string VehicleModelCode { get; protected set; } - /// - /// 特殊描述 - /// - public virtual string Description { get; protected set; } - - /// - /// 是否激活 - /// - public virtual bool IsActivate { get; protected set; } - - public List AssemblyCfgVehicleChilds { get; protected set; } - protected AssemblyCfgVehicle() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public AssemblyCfgVehicle(Guid id, string assemblyName, string vehicleModelCode, string description, bool isActivate) - : base(id) - { - AssemblyName = assemblyName; - VehicleModelCode = vehicleModelCode; - Description = description; - IsActivate = isActivate; - AssemblyCfgVehicleChilds = new List(); - } - - public virtual void AddChildObj(Guid id, Guid erpAssemblyId) - { - this.AssemblyCfgVehicleChilds.Add(new AssemblyCfgVehicleChild(id, erpAssemblyId)); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicleChild.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicleChild.cs deleted file mode 100644 index deced296..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/AssemblyCfgVehicleChild.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 整车总成子表 - /// - public class AssemblyCfgVehicleChild : OurAggregateRoot - { - /// - /// ERP总成ID - /// - public virtual Guid ErpAssemblyId { get; protected set; } - - protected AssemblyCfgVehicleChild() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public AssemblyCfgVehicleChild(Guid id, Guid erpAssemblyId) - : base(id) - { - ErpAssemblyId = erpAssemblyId; - } - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItem.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItem.cs deleted file mode 100644 index b430b6ea..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItem.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 公用字典项表 - /// - public class DicItem : FullAuditedAggregateRoot - { - /// - /// 字典类别代码 - /// - public virtual string DicTypeCode { get; protected set; } - - /// - /// 字典项代码 - /// - public virtual string DicItemCode { get; protected set; } - - /// - /// 字典项名称 - /// - public virtual string DicItemName { get; protected set; } - protected DicItem() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public DicItem(Guid id, string dicTypeCode, string dicItemCode, string dicItemName) - : base(id) - { - DicTypeCode = dicTypeCode; - DicItemCode = dicItemCode; - DicItemName = dicItemName; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItemDataSeederContributor.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItemDataSeederContributor.cs deleted file mode 100644 index 8934b137..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicItemDataSeederContributor.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; - -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Guids; -using Volo.Abp.Uow; -using WY.NewJit.Common; - -namespace WY.NewJit.MsgBaseData -{ - public class DicItemDataSeederContributor - : IDataSeedContributor, ITransientDependency - { - private readonly IRepository _dicTypeRepository; - - private readonly IRepository _dicItemRepository; - - /// - /// 配置 - /// - private readonly Microsoft.Extensions.Configuration.IConfiguration _configuration; - - private readonly IGuidGenerator _guidGenerator; - - public DicItemDataSeederContributor( - IRepository dicTypeRepository, - IRepository dicItemRepository, - Microsoft.Extensions.Configuration.IConfiguration configuration, - IGuidGenerator guidGenerator - ) - { - _dicTypeRepository = dicTypeRepository; - _dicItemRepository = dicItemRepository; - _configuration = configuration; - _guidGenerator = guidGenerator; - } - - [UnitOfWork] - public async Task SeedAsync(DataSeedContext context) - { - if (string.IsNullOrEmpty(ConfigDic.CurrentVersion)) - { - ConfigDic.CurrentVersion = _configuration["ConfigDic:CurrentVersion"]; - } - long cnt = await _dicItemRepository.GetCountAsync(); - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格 && cnt == 0) - { - //报文车型 - List dicItemLst = new List(); - string[] arr = new string[] { "0V", "3C", "3H", "4K", "8W", "FY", "GE" }; - foreach (string itm in arr) - { - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型, itm, itm)); - } - await _dicTypeRepository.InsertAsync(new DicType(_guidGenerator.Create(), DicTypeName.报文车型, DicTypeName.报文车型)); - await _dicItemRepository.InsertManyAsync(dicItemLst); - //派格车型 - dicItemLst = new List(); - arr = new string[] { "B8L", "B9", "BSMV", "C8", "CC", "Q5", "Q6" }; - foreach (string itm in arr) - { - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.派格车型, itm, itm)); - } - await _dicTypeRepository.InsertAsync(new DicType(_guidGenerator.Create(), DicTypeName.派格车型, DicTypeName.派格车型)); - await _dicItemRepository.InsertManyAsync(dicItemLst); - //报文车型对应派格车型 - dicItemLst = new List(); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, "0V", "BSMV")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, "3C", "B8L")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, "3C", "B8L-PHEV")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, "3H", "CC")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, "4K", "C8")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, "4K", "C8-PHEV")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, "8W", "B9")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, "FY", "Q5")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, "GE", "Q6")); - await _dicTypeRepository.InsertAsync(new DicType(_guidGenerator.Create(), DicTypeName.报文车型对应派格车型, DicTypeName.报文车型对应派格车型)); - await _dicItemRepository.InsertManyAsync(dicItemLst); - //M100派格车型对应生产线 - dicItemLst = new List(); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, "C8", "01")); - //dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, "C8 - PHEV", "01")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, "B8L", "05")); - //dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, "B8L - PHEV", "05")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, "BSMV", "05")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, "CC", "05")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, "B9", "07")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, "Q6", "07")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, "Q5", "08")); - await _dicTypeRepository.InsertAsync(new DicType(_guidGenerator.Create(), DicTypeName.M100派格车型对应生产线, DicTypeName.M100派格车型对应生产线)); - await _dicItemRepository.InsertManyAsync(dicItemLst); - //R100派格车型对应生产线 - dicItemLst = new List(); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.R100派格车型对应生产线, "Q5", "02")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.R100派格车型对应生产线, "B9", "03")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.R100派格车型对应生产线, "CC", "04")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.R100派格车型对应生产线, "B8L", "04")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.R100派格车型对应生产线, "C8", "05")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.R100派格车型对应生产线, "Q6", "07")); - dicItemLst.Add(new DicItem(_guidGenerator.Create(), DicTypeName.R100派格车型对应生产线, "BSMV", "09")); - await _dicTypeRepository.InsertAsync(new DicType(_guidGenerator.Create(), DicTypeName.R100派格车型对应生产线, DicTypeName.R100派格车型对应生产线)); - await _dicItemRepository.InsertManyAsync(dicItemLst); - } - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicType.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicType.cs deleted file mode 100644 index c6444e1d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/DicType.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 公用字典类别表 - /// - public class DicType : FullAuditedAggregateRoot - { - /// - /// 字典类别代码 - /// - public virtual string DicTypeCode { get; protected set; } - - /// - /// 字典类别名称 - /// - public virtual string DicTypeName { get; protected set; } - - protected DicType() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public DicType(Guid id, string dicTypeCode, string dicTypeName) - : base(id) - { - DicTypeCode = dicTypeCode; - DicTypeName = dicTypeName; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/ErpAssembly2Part.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/ErpAssembly2Part.cs deleted file mode 100644 index 4f1ab74e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/ErpAssembly2Part.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class ErpAssembly2Part - { - /// - /// Erp总成ID - /// - public Guid ErpAssemblyId { get; set; } - - /// - /// 客户零件代码 - /// - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - public double? PartNum { get; set; } - - /// - /// 是否Key件 - /// - public bool IsKey { get; set; } - - } - - [Serializable] - public class ErpAssembly2 - { - /// - /// Erp总成ID - /// - public Guid ErpAssemblyId { get; set; } - - /// - /// Erp总成编码 - /// - public string ErpAssemblyCode { get; set; } - } - -} - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/ExcludePartCfg.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/ExcludePartCfg.cs deleted file mode 100644 index 9fb03df7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/ExcludePartCfg.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 排除零件配置表 - /// - public class ExcludePartCfg : FullAuditedAggregateRoot - { - /// - /// 车型 - /// - public virtual string VehicleModelCode { get; protected set; } - - /// - /// 客户零件号 - /// - public virtual string PartCode { get; protected set; } - - /// - /// 排除原因 - /// - public virtual string ExcludeReason { get; protected set; } - - /// - /// 车型名称 - /// - //public virtual string VehicleModelName { get; protected set; } - - /// - /// 客户零件名称 - /// - //public virtual string PartName { get; protected set; } - - protected ExcludePartCfg() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public ExcludePartCfg(Guid id, string vehicleModelCode, string partCode, string excludeReason) - : base(id) - { - VehicleModelCode = vehicleModelCode; - PartCode = partCode; - ExcludeReason = excludeReason; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/LogRemind.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/LogRemind.cs deleted file mode 100644 index 481df934..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/LogRemind.cs +++ /dev/null @@ -1,57 +0,0 @@ -using JetBrains.Annotations; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 日志提醒 - /// - public class LogRemind : CreationAuditedAggregateRoot - { - /// - /// 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常) - /// - public virtual LogTypeEnum LogType { get; protected set; } - - /// - /// 日志标题 - /// - public virtual string LogTitle { get; protected set; } - - /// - /// 日志描述 - /// - public virtual string LogDesc { get; protected set; } - /// - /// 严重程度(1 轻微 2 一般、3 严重) - /// - public virtual SeriousLevelEnum SeriousLevel { get; protected set; } - - /// - /// 日志状态 - /// - public virtual LogStatusEnum LogStatus { get; set; } - - protected LogRemind() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public LogRemind(Guid id, LogTypeEnum logType, [NotNull] string logTitle, [NotNull] string logDesc, SeriousLevelEnum seriousLevel, LogStatusEnum logStatus = LogStatusEnum.None) - : base(id) - { - LogType = logType; - LogTitle = logTitle; - LogDesc = logDesc; - SeriousLevel = seriousLevel; - LogStatus = logStatus; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfg.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfg.cs deleted file mode 100644 index 0c014079..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfg.cs +++ /dev/null @@ -1,85 +0,0 @@ -using JetBrains.Annotations; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 客户零件管理 - /// - public class PartCfg : FullAuditedAggregateRoot - { - /// - /// 零件编码 - /// - public virtual string PartCode { get; set; } - /// - /// 零件名称 - /// - public virtual string PartName { get; set; } - /// - /// 零件类型(取通用字典) - /// - public virtual string PartType { get; set; } - - /// - /// 零件子类型(取通用字典) - /// - public virtual string PartChildType { get; set; } - /// - /// 描述 - /// - public virtual string Description { get; set; } - - #region 派格扩展 - /// - /// 门板代号 - /// - public string DoorPlankCode { get; set; } - - /// - /// SAP物料号 - /// - public string SAPMaterialNum { get; set; } - - /// - /// 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - /// - public string MaterialDescription { get; set; } - - /// - /// 大小量纲(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - /// - public string DaXiaoLiangGang { get; set; } - #endregion - - - PartCfg() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - PartCfg(Guid id) - :base(id) - { - } - - public PartCfg(Guid id, [NotNull] string partCode, string partName, string partType, string partChildType, string description = "") - :base(id) - { - PartCode = partCode; - PartName = partName; - PartType = partType; - PartChildType = partChildType; - Description = description; - } - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfgPaiGeExt.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfgPaiGeExt.cs deleted file mode 100644 index 01fc26e2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartCfgPaiGeExt.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities; - -namespace WY.NewJit.MsgBaseData -{ - public class PartCfgPaiGeExt - { - /// - /// 门板代号 - /// - public string DoorPlankCode { get; set; } - - /// - /// SAP物料号 - /// - public string SAPMaterialNum { get; set; } - - /// - /// 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - /// - public string MaterialDescription { get; set; } - - /// - /// 大小量纲(大小量纲、物料描述字段值同时存在时,优先显示大小量纲) - /// - public string DaXiaoLiangGang { get; set; } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartSwitch.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartSwitch.cs deleted file mode 100644 index 645042b7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/PartSwitch.cs +++ /dev/null @@ -1,34 +0,0 @@ -using JetBrains.Annotations; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgBaseData -{ - /// - /// 总成零件切换管理 - /// - public class PartSwitch : FullAuditedAggregateRoot - { - /// - /// 零件编码 - /// - public virtual string SourcePartCode { get; set; } - /// - /// 切换为零件编码 - /// - public virtual string TargetPartCode { get; set; } - /// - /// 生效开始时间 - /// - public virtual DateTime? ActiveBeginTime { get; set; } - /// - /// 生效结束时间 - /// - public virtual DateTime? ActiveEndTime { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/V_Relationship.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/V_Relationship.cs deleted file mode 100644 index b0305396..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Entitys/V_Relationship.cs +++ /dev/null @@ -1,38 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WY.NewJit.MsgBaseData -{ - [Serializable] - public class V_Relationship - { - /// - /// 与结算系统的关联键 - /// - public string RelationKey { get; set; } - - /// - /// erp总成编码 - /// - public string ErpMaterialCode { get; set; } - - /// - /// erp总成名称 - /// - public string MaterialDesc { get; set; } - - /// - /// 结算件编码 - /// - public string SettleMaterialCode { get; set; } - - /// - /// 结算件数量 - /// - public double Qty { get; set; } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/AssemblyDomainService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/AssemblyDomainService.cs deleted file mode 100644 index 0fe824f8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/AssemblyDomainService.cs +++ /dev/null @@ -1,244 +0,0 @@ -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Domain.Services; -using Volo.Abp.Guids; -using Volo.Abp.Uow; -using WY.NewJit.IRepositories; - -namespace WY.NewJit.MsgBaseData -{ - public class AssemblyDomainService : DomainService - { - /// - /// ERP总成仓储 - /// - private readonly IRepository _assemblyCfgErpRepository; - - /// - /// 结算件仓储 - /// - private readonly IRepository _assemblyCfgPartRepos; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// Dapper仓储 - /// - private readonly INewJitDapperRepository _newJitDapperRepository; - - /// - /// Erp总成Id列表 - /// - private List _erpAssemblyIdList = new List(); - - /// - /// Erp总成vs零件的列表 - /// - private List _erp2partList = new List(); - - /// - /// Guid生成 - /// - private readonly IGuidGenerator _guidGenerator; - - - public AssemblyDomainService() - { - } - - public AssemblyDomainService( - IRepository assemblyCfgProductRepository, - ILogger logger, - INewJitDapperRepository newJitDapperRepository, - IRepository assemblyCfgPartRepos, - IGuidGenerator guidGenerator - ) - { - _assemblyCfgErpRepository = assemblyCfgProductRepository; - _logger = logger; - _newJitDapperRepository = newJitDapperRepository; - _assemblyCfgPartRepos = assemblyCfgPartRepos; - _guidGenerator = guidGenerator; - - _erpAssemblyIdList.Clear(); - _erp2partList.Clear(); - } - - public virtual async Task ClearPub(int maxVersion) - { - _erpAssemblyIdList.Clear(); - _erp2partList.Clear(); - if (_erpAssemblyIdList.Count == 0) - { - //取Erp总成 - string erpIdsql = string.Format("select Id as ErpAssemblyId, ErpAssemblyCode from FisAssemblyCfgErp where ErpAssemblyVersion <= {0} order by ErpAssemblyVersion, CreationTime desc", maxVersion); - _erpAssemblyIdList = await _newJitDapperRepository.GetListBySqlAsync(erpIdsql, true); - - //取所有零件 - string erp2partSql = @" - select e.Id as ErpAssemblyId, ep.PartCode, ep.PartNum, ep.IsKey - from FisAssemblyCfgErp e - join FisAssemblyCfgPart ep on e.Id = ep.AssemblyCfgErpId - "; - _erp2partList = await _newJitDapperRepository.GetListBySqlAsync(erp2partSql, true); - } - } - - /// - /// 判断传入参数与Erp总成的结算件是否完全相同,并返回相同 - /// - /// - /// - public virtual async Task> FindRepeatErpAssembly(AssemblyCfgErp erpAssembly) - { - List retList = new List(); - - foreach (ErpAssembly2 erp2Obj in _erpAssemblyIdList) - { - var partLst = _erp2partList.Where(itm => itm.ErpAssemblyId == erp2Obj.ErpAssemblyId).ToList(); - bool isSame = CompareTwoCollection(erpAssembly.Details, partLst); - if (isSame) - { - retList.Add(erp2Obj); - } - } - return retList; - } - - /// - /// 更新Erp总成表中上一版本字典 - /// - /// - /// - public virtual async Task UpdatePreviousVersionId(Guid whereId, Guid previousVersionId) - { - const string updateErpAssemblySql = "update FisAssemblyCfgErp set PreviousVersionId = '{0}' where Id = '{1}'"; - string sql = string.Format(updateErpAssemblySql, previousVersionId, whereId); - await _newJitDapperRepository.ExecuteSqlAsync(sql, null, true); - } - - /// - /// 与核算系统同步Erp总成,作业中调用 - /// - /// - [UnitOfWork] - public virtual async Task SyncErpAssemblyAsync(int takeRecordCount) - { - string sql = @" -SELECT AppraisalCategory as RelationKey, ErpMaterialCode, MaterialDesc, SettleMaterialCode, Qty - FROM [SettleAccountService].[dbo].[v_relationship] a - where not exists (select * from [dbo].[FisAssemblyCfgErp] e where a.AppraisalCategory = e.RelationKey) - order by [Version], ErpMaterialCode, MaterialDesc, SettleMaterialCode, Qty -"; - //取ERP总成 最大版本 - int maxVer = _assemblyCfgErpRepository.Any() ? _assemblyCfgErpRepository.Max(itm => itm.ErpAssemblyVersion) : 0; - //初始化ERP总成及结算件数据 - await ClearPub(maxVer); - //取增量数据 - List relationshipLst = await _newJitDapperRepository.GetListBySqlAsync(sql, true); - List keyLst = relationshipLst.Select(itm => itm.RelationKey).Distinct().Take(takeRecordCount).ToList(); - - foreach (string keyStr in keyLst) - { - List filterLst = relationshipLst.Where(itm => itm.RelationKey == keyStr).ToList(); - //填充erp主实体 - AssemblyCfgErp targetObj = new AssemblyCfgErp( - _guidGenerator.Create(), - filterLst[0].ErpMaterialCode, - filterLst[0].MaterialDesc, - ++maxVer, - null, - filterLst[0].RelationKey - ); - //填充erp子实体 - foreach (V_Relationship filterItm in filterLst) - { - targetObj.AddChildObject( - _guidGenerator.Create(), - filterItm.SettleMaterialCode, - filterItm.Qty, - "", - false - ); - } - //判断结算件配置重复 - List repeatIdLst = await FindRepeatErpAssembly(targetObj); - if (repeatIdLst == null || repeatIdLst.Count == 0) //没有重复,直接插入 - { - AssemblyCfgErp obj2 = await _assemblyCfgErpRepository.InsertAsync(targetObj); - } - else //存在重复 - { - foreach (ErpAssembly2 item in repeatIdLst) - { - //更新历史数据PreviousVersionId字段 - await UpdatePreviousVersionId(item.ErpAssemblyId, targetObj.Id); - } - AssemblyCfgErp obj2 = await _assemblyCfgErpRepository.InsertAsync(targetObj); - } - } - } - - /// - /// 两个集合比较 - /// - /// - /// - /// - private bool CompareTwoCollection(List sourceLst, List targetLst) - { - if (sourceLst == null || targetLst == null || sourceLst.Count == 0 || targetLst.Count == 0) - { - return false; - } - if (sourceLst.Count != targetLst.Count) - { - return false; - } - //将目标对象转换成和源对象一样的类型 AssemblyCfgErp2PartDto to BillM100Part - List newTarLst = new List(); - foreach (ErpAssembly2Part item in targetLst) - { - AssemblyCfgPart newTarObj = new AssemblyCfgPart(GuidGenerator.Create(), item.PartCode, item.PartNum); - newTarLst.Add(newTarObj); - } - var srcOrdLst = sourceLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - var tarOrdLst = newTarLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - - bool isEqual = srcOrdLst.SequenceEqual(tarOrdLst, new AssemblyCfgPartListEquality()); - return isEqual; - } - - } - - public class AssemblyCfgPartListEquality : IEqualityComparer - { - public bool Equals(AssemblyCfgPart x, AssemblyCfgPart y) - { - return x.PartCode == y.PartCode && x.PartNum == y.PartNum; - } - - public int GetHashCode(AssemblyCfgPart obj) - { - if (obj == null) - { - return 0; - } - else - { - return obj.ToString().GetHashCode(); - } - } - } - - - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/DicDomainService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/DicDomainService.cs deleted file mode 100644 index 3720993c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/DicDomainService.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Domain.Services; - -namespace WY.NewJit.MsgBaseData -{ - public class DicDomainService : DomainService - { - private readonly IRepository _dicTypeRepository; - - private readonly IRepository _dicItemRepository; - - public DicDomainService(IRepository dicTypeRepository, IRepository dicItemRepository) - { - this._dicTypeRepository = dicTypeRepository; - this._dicItemRepository = dicItemRepository; - } - - public List GetDicItems(string dicTypeName) - { - List ret = new List(); - var typeObj = _dicTypeRepository.FirstOrDefault(itm => itm.DicTypeName == dicTypeName); - if (typeObj != null) - { - ret = _dicItemRepository.Where(itm => itm.DicTypeCode == typeObj.DicTypeCode).ToList(); - } - return ret; - } - } - - /// - /// 通用字典分类名称 - /// - public static class DicTypeName - { - public const string 报文车型 = "报文车型"; - - public const string 派格车型 = "派格车型"; - - public const string 报文车型对应派格车型 = "报文车型对应派格车型"; - - public const string R100派格车型对应生产线 = "R100派格车型对应生产线"; - - public const string M100派格车型对应生产线 = "M100派格车型对应生产线"; - - public const string 生产线 = "生产线"; - } -} - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/LogRemindDomainService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/LogRemindDomainService.cs deleted file mode 100644 index b68b03e0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgBaseData/Services/LogRemindDomainService.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Domain.Services; - -namespace WY.NewJit.MsgBaseData -{ - public class LogRemindDomainService : DomainService - { - private readonly IRepository _logRemindRepository; - - public LogRemindDomainService() - { - } - - public LogRemindDomainService(IRepository logRemindRepository) - { - this._logRemindRepository = logRemindRepository; - } - - public void WriteLogRemind(string logTitle, string logDesc, LogTypeEnum logType = LogTypeEnum.None, SeriousLevelEnum seriousLevel = SeriousLevelEnum.Serious) - { - Guid myId = GuidGenerator.Create(); - - LogRemind logObj = new LogRemind(myId, logType, logTitle, logDesc, seriousLevel); - //logObj.LogTitle = logTitle; - //logObj.LogDesc = logDesc; - //logObj.LogType = logType; - //logObj.SeriousLevel = seriousLevel; - _logRemindRepository.InsertAsync(logObj); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100.cs deleted file mode 100644 index a873dda7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100.cs +++ /dev/null @@ -1,193 +0,0 @@ -using JetBrains.Annotations; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 涂装单据 - /// - public class BillM100 : AuditedAggregateRoot - { - /// - /// 报文接收ID,对应报文接收表主键 - /// - public virtual Guid? MessageFileReceiveID { get; protected set; } - - /// - /// 流水号# - /// - public virtual int? SerialNum { get; protected set; } - - /// - /// 大众顺序号 - /// - public virtual int? HostSN { get; protected set; } - /// - /// KNR订单号 - /// - public virtual string KNR { get; set; } - - /// - /// 底牌号# - /// - public virtual string VIN { get; protected set; } - /// - /// 总成ID - /// - public virtual Guid? AssemblyID { get; set; } - /// - /// 上线时间 - /// - public virtual DateTime? OnlineTime { get; protected set; } - - /// - /// 车型代码(取通用字典) - /// - public virtual string VehicleModelCode { get; protected set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public virtual string Version { get; protected set; } - - /// - /// 接收时间 - /// - public virtual DateTime? ReceiveTime { get; protected set; } - - /// - /// 单据状态(0 未生效 1 已生效未发布 2 已发布) - /// - public virtual BillStatusEnum BillStatus { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; set; } - - /// - /// 打印时间 - /// - public virtual DateTime? PrintTime { get; set; } - - /// - /// 打印单号 - /// - public virtual string PrintBillNum { get; set; } - - /// - /// 涂装单据包含的零件列表 - /// - public virtual List BillM100Parts { get; protected set; } - - /// - /// 手工操作类型:0 none,1 手工添加,2 手工修改 - /// - public virtual ManualOperationTypeEnum OperationType { get; protected set; } - - /// - /// 手工操作员 - /// - public virtual string Operator { get; protected set; } - - /// - /// 手工操作日期 - /// - public virtual DateTime? OperationTime { get; protected set; } - - protected BillM100() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - //protected BillM100(Guid id) - // :base(id) - //{ } - - //public BillM100(Guid id, Guid? messageFileReceiveID, int? serialNum, int? hostSN, string kNR, string vIN, Guid? assemblyID, DateTime? onlineTime, string vehicleModelCode, string version, DateTime? receiveTime, BillStatusEnum billStatus) - // : base(id) - //{ - // MessageFileReceiveID = messageFileReceiveID; - // SerialNum = serialNum; - // HostSN = hostSN; - // KNR = kNR; - // VIN = vIN; - // AssemblyID = assemblyID; - // OnlineTime = onlineTime; - // VehicleModelCode = vehicleModelCode; - // Version = version; - // ReceiveTime = receiveTime; - // BillStatus = billStatus; - // BillM100Parts = new List(); - //} - - public BillM100(Guid id, Guid? messageFileReceiveID, int? serialNum, int? hostSN, string kNR, string vIN, Guid? assemblyID, DateTime? onlineTime, string vehicleModelCode, string version, DateTime? receiveTime, BillStatusEnum billStatus, ManualOperationTypeEnum operationType = ManualOperationTypeEnum.None, string @operator = null, DateTime? operationTime = null) - :base(id) - { - MessageFileReceiveID = messageFileReceiveID; - SerialNum = serialNum; - HostSN = hostSN; - KNR = kNR; - VIN = vIN; - AssemblyID = assemblyID; - OnlineTime = onlineTime; - VehicleModelCode = vehicleModelCode; - Version = version; - ReceiveTime = receiveTime; - BillStatus = billStatus; - BillM100Parts = new List(); - OperationType = operationType; - Operator = @operator; - OperationTime = operationTime; - } - - public virtual void AddChildObj(Guid id, [NotNull] string partCode, int partNum, string description = null) - { - BillM100Parts.Add(new BillM100Part(id, partCode, partNum, description)); - } - - public virtual void SetSerialNum(int serialNum) - { - this.SerialNum = serialNum; - } - - public virtual void SetAssemblyID(Guid? assemblyId) - { - this.AssemblyID = assemblyId; - } - - public virtual void SetBillStatus(BillStatusEnum billStatus) - { - this.BillStatus = billStatus; - } - - public virtual void SetId(Guid id) - { - this.Id = id; - } - public virtual void SetVehicleModelCode(string vehicleModelCode) - { - this.VehicleModelCode = vehicleModelCode; - } - - public virtual void SetProductLine(string productLine) - { - this.ProductLine = productLine; - } - - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100Part.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100Part.cs deleted file mode 100644 index 02824a3c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM100Part.cs +++ /dev/null @@ -1,59 +0,0 @@ -using JetBrains.Annotations; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 涂装单据和零件关系表 - /// - public class BillM100Part : AuditedEntity - { - /// - /// 客户零件代码 - /// - public virtual string PartCode { get; protected set; } - - /// - /// 客户零件数量 - /// - public virtual double? PartNum { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; set; } - - protected BillM100Part() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public BillM100Part(Guid id) - : base(id) - { - } - - - public BillM100Part(Guid id, [NotNull] string partCode, double? partNum, string description = null) - :base(id) - { - PartCode = partCode; - PartNum = partNum; - Description = description; - } - - public virtual void SetId(Guid id) - { - this.Id = id; - } - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110.cs deleted file mode 100644 index bac814c4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110.cs +++ /dev/null @@ -1,109 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 总装单据 - /// - public class BillM110 : AuditedAggregateRoot - { - /// - /// 报文接收ID,对应报文接收表主键 - /// - public virtual Guid MessageFileReceiveID { get; protected set; } - - /// - /// 流水号# - /// - public virtual int? SerialNum { get; protected set; } - - /// - /// 大众顺序号 - /// - public virtual int? HostSN { get; protected set; } - /// - /// KNR - /// - public virtual string KNR { get; protected set; } - - /// - /// 底牌号# - /// - public virtual string VIN { get; protected set; } - - /// - /// 总成ID - /// - public virtual Guid? AssemblyID { get; protected set; } - - /// - /// 上线时间 - /// - public virtual DateTime? OnlineTime { get; protected set; } - - /// - /// 车型代码(取通用字典) - /// - public virtual string VehicleModelCode { get; protected set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public virtual string Version { get; protected set; } - - /// - /// 接收时间 - /// - public virtual DateTime? ReceiveTime { get; protected set; } - - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布)【暂不用所以不用枚举】 - /// - public virtual BillStatusEnum BillStatus { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; set; } - - /// - /// 总装单据包含的零件列表 - /// - public virtual List BillM110Parts { get; protected set; } - protected BillM110() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public BillM110(Guid id, Guid messageFileReceiveID, int? serialNum, int? hostSN, string kNR, string vIN, Guid? assemblyID, DateTime? onlineTime, string vehicleModelCode, string version, DateTime? receiveTime, BillStatusEnum billStatus) - : base(id) - { - MessageFileReceiveID = messageFileReceiveID; - SerialNum = serialNum; - HostSN = hostSN; - KNR = kNR; - VIN = vIN; - AssemblyID = assemblyID; - OnlineTime = onlineTime; - VehicleModelCode = vehicleModelCode; - Version = version; - ReceiveTime = receiveTime; - BillStatus = billStatus; - BillM110Parts = new List(); - } - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110Part.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110Part.cs deleted file mode 100644 index cd1dc453..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillM110Part.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 总装单据和零件关系表 - /// - public class BillM110Part : AuditedEntity - { - /// - /// 客户零件代码 - /// - public virtual string PartCode { get; protected set; } - - /// - /// 客户零件数量 - /// - public virtual double? PartNum { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; protected set; } - protected BillM110Part() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public BillM110Part(Guid id, string partCode, double? partNum, string description) - : base(id) - { - PartCode = partCode; - PartNum = partNum; - Description = description; - } - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100.cs deleted file mode 100644 index d19a571b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100.cs +++ /dev/null @@ -1,135 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 焊装单据 - /// - public class BillR100 : AuditedAggregateRoot - { - /// - /// 报文接收ID,对应报文接收表主键 - /// - public virtual Guid MessageFileReceiveID { get; protected set; } - - /// - /// 大众顺序号 - /// - public virtual int? HostSN { get; protected set; } - /// - /// KNR - /// - public virtual string KNR { get; set; } - /// - /// 总成ID - /// - public virtual Guid? AssemblyID { get; protected set; } - /// - /// 上线时间 - /// - public virtual DateTime? OnlineTime { get; protected set; } - /// - /// 接收时间 - /// - public virtual DateTime? ReceiveTime { get; protected set; } - /// - /// 车型代码(取通用字典) - /// - public virtual string VehicleModelCode { get; protected set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - /// - /// 版本 - /// - public virtual string Version { get; protected set; } - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布;-1 预批量) - /// - public virtual BillStatusEnum BillStatus { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; set; } - - /// - /// 打印时间 - /// - public virtual DateTime? PrintTime { get; set; } - - /// - /// 焊装单据包含的零件列表 - /// - public virtual List BillR100Parts { get; protected set; } - - protected BillR100() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - protected BillR100(Guid id) - :base(id) - { - - } - - public BillR100(Guid id, Guid messageFileReceiveID, int? hostSN, string kNR, Guid? assemblyID, DateTime? onlineTime, DateTime? receiveTime, string vehicleModelCode, string version, BillStatusEnum billStatus) - :base(id) - { - MessageFileReceiveID = messageFileReceiveID; - HostSN = hostSN; - KNR = kNR; - AssemblyID = assemblyID; - OnlineTime = onlineTime; - ReceiveTime = receiveTime; - VehicleModelCode = vehicleModelCode; - Version = version; - BillStatus = billStatus; - BillR100Parts = new List(); - } - - public virtual void AddChildObj(Guid id, string partCode, int partNum, string description = null) - { - BillR100Parts.Add(new BillR100Part(id, partCode, partNum, description)); - } - - public virtual void SetAssemblyID(Guid? assemblyId) - { - this.AssemblyID = assemblyId; - } - - public virtual void SetBillStatus(BillStatusEnum billStatus) - { - this.BillStatus = billStatus; - } - - public virtual void SetId(Guid id) - { - this.Id = id; - } - - public virtual void SetVehicleModelCode(string vehicleModelCode) - { - this.VehicleModelCode = vehicleModelCode; - } - - public virtual void SetProductLine(string productLine) - { - this.ProductLine = productLine; - } - - - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100Part.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100Part.cs deleted file mode 100644 index 09215e9c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/BillR100Part.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 焊装单据和零件关系表 - /// - public class BillR100Part : AuditedEntity - { - /// - /// 客户零件代码 - /// - public virtual string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - public virtual double? PartNum { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; set; } - - protected BillR100Part() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public BillR100Part(Guid id, string partCode, double? partNum, string description = null) - :base(id) - { - PartCode = partCode; - PartNum = partNum; - Description = description; - } - - public virtual void SetId(Guid id) - { - this.Id = id; - } - - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100.cs deleted file mode 100644 index 757953d7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100.cs +++ /dev/null @@ -1,121 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 涂装重复单据 - /// - public class RepeatM100 : AuditedAggregateRoot - { - /// - /// 报文接收ID,对应报文接收表主键 - /// - public virtual Guid? MessageFileReceiveID { get; protected set; } - - /// - /// 流水号# - /// - public virtual int? SerialNum { get; protected set; } - - /// - /// 大众顺序号 - /// - public virtual int? HostSN { get; protected set; } - /// - /// KNR - /// - public virtual string KNR { get; protected set; } - - /// - /// 底牌号# - /// - public virtual string VIN { get; protected set; } - /// - /// 总成ID - /// - public virtual Guid? AssemblyID { get; protected set; } - /// - /// 上线时间 - /// - public virtual DateTime? OnlineTime { get; protected set; } - /// - /// 接收时间 - /// - public virtual DateTime? ReceiveTime { get; protected set; } - /// - /// 车型代码(取通用字典) - /// - public virtual string VehicleModelCode { get; protected set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public virtual string Version { get; protected set; } - - /// - /// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】 - /// - public virtual BillStatusEnum BillStatus { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; set; } - - /// - /// 涂装重复单据包含的零件列表 - /// - public virtual List M100RepeatParts { get; protected set; } - - protected RepeatM100() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - protected RepeatM100(Guid id) - :base(id) - { } - - public RepeatM100(Guid id, Guid? messageFileReceiveID, int? serialNum, int? hostSN, string kNR, string vIN, Guid? assemblyID, DateTime? onlineTime, DateTime? receiveTime, string vehicleModelCode, string productLine, string version, BillStatusEnum billStatus) - :base(id) - { - MessageFileReceiveID = messageFileReceiveID; - SerialNum = serialNum; - HostSN = hostSN; - KNR = kNR; - VIN = vIN; - AssemblyID = assemblyID; - OnlineTime = onlineTime; - ReceiveTime = receiveTime; - VehicleModelCode = vehicleModelCode; - ProductLine = productLine; - Version = version; - BillStatus = billStatus; - M100RepeatParts = new List(); - } - - public virtual void SetSerialNum(int serialNum) - { - this.SerialNum = serialNum; - } - - public virtual void AddChildObj(Guid id, string partCode, double? partNum, string description) - { - M100RepeatParts.Add(new RepeatM100Part(id, partCode, partNum, description)); - } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100Part.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100Part.cs deleted file mode 100644 index 1246e54c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM100Part.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 涂装重复单据和零件关系表 - /// - public class RepeatM100Part : AuditedEntity - { - /// - /// 客户零件代码 - /// - public virtual string PartCode { get; protected set; } - - /// - /// 客户零件数量 - /// - public virtual double? PartNum { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; protected set; } - - protected RepeatM100Part() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public RepeatM100Part(Guid id) - :base(id) - { } - - public RepeatM100Part(Guid id, string partCode, double? partNum, string description) - : base(id) - { - PartCode = partCode; - PartNum = partNum; - Description = description; - } - - public virtual void SetId(Guid id) - { - this.Id = id; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110.cs deleted file mode 100644 index 7ea3bc04..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110.cs +++ /dev/null @@ -1,93 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 总装重复单据 - /// - public class RepeatM110 : AuditedAggregateRoot - { - /// - /// 报文接收ID,对应报文接收表主键 - /// - public virtual Guid MessageFileReceiveID { get; protected set; } - - /// - /// 大众顺序号 - /// - public virtual int? HostSN { get; protected set; } - /// - /// KNR - /// - public virtual string KNR { get; protected set; } - - /// - /// 底牌号# - /// - public virtual string VIN { get; protected set; } - - /// - /// 上线时间 - /// - public virtual DateTime? OnlineTime { get; protected set; } - /// - /// 接收时间 - /// - public virtual DateTime? ReceiveTime { get; protected set; } - /// - /// 车型代码(取通用字典) - /// - public virtual string VehicleModelCode { get; protected set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public virtual string Version { get; protected set; } - - /// - /// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】 - /// - public virtual BillStatusEnum BillStatus { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; set; } - - /// - /// 总装重复单据包含的零件列表 - /// - public List M110RepeatParts { get; protected set; } - protected RepeatM110() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public RepeatM110(Guid id, Guid messageFileReceiveID, int? hostSN, string kNR, string vIN, DateTime? onlineTime, DateTime? receiveTime, string vehicleModelCode, string version) - : base(id) - { - MessageFileReceiveID = messageFileReceiveID; - HostSN = hostSN; - KNR = kNR; - VIN = vIN; - OnlineTime = onlineTime; - ReceiveTime = receiveTime; - VehicleModelCode = vehicleModelCode; - Version = version; - M110RepeatParts = new List(); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110Part.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110Part.cs deleted file mode 100644 index 8f6ebe8a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatM110Part.cs +++ /dev/null @@ -1,44 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 总装重复单据和零件关系表 - /// - public class RepeatM110Part : AuditedEntity - { - /// - /// 客户零件代码 - /// - public virtual string PartCode { get; protected set; } - - /// - /// 客户零件数量 - /// - public virtual double? PartNum { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; protected set; } - protected RepeatM110Part() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public RepeatM110Part(Guid id, string partCode, double? partNum, string description) - : base(id) - { - PartCode = partCode; - PartNum = partNum; - Description = description; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100.cs deleted file mode 100644 index 0fb41816..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100.cs +++ /dev/null @@ -1,99 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 焊装重复单据 - /// - public class RepeatR100 : AuditedAggregateRoot - { - /// - /// 报文接收ID,对应报文接收表主键 - /// - public virtual Guid MessageFileReceiveID { get; protected set; } - - /// - /// 大众顺序号 - /// - public virtual int? HostSN { get; protected set; } - /// - /// KNR - /// - public virtual string KNR { get; protected set; } - /// - /// 总成ID - /// - public virtual Guid? AssemblyID { get; protected set; } - /// - /// 上线时间 - /// - public virtual DateTime? OnlineTime { get; protected set; } - /// - /// 接收时间 - /// - public virtual DateTime? ReceiveTime { get; protected set; } - /// - /// 车型代码(取通用字典) - /// - public virtual string VehicleModelCode { get; protected set; } - - /// - /// 生产线(派格按生产线分类) - /// - public virtual string ProductLine { get; set; } - - /// - /// 版本 - /// - public virtual string Version { get; protected set; } - - /// - /// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布;-1 预批量)【暂不用所以不用枚举】 - /// - public virtual BillStatusEnum BillStatus { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; set; } - - /// - /// 焊装重复单据包含的零件列表 - /// - public virtual List R100RepeatParts { get; protected set; } - - protected RepeatR100() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public RepeatR100(Guid id, Guid messageFileReceiveID, int? hostSN, string kNR, Guid? assemblyID, DateTime? onlineTime, DateTime? receiveTime, string vehicleModelCode, string productLine, string version, BillStatusEnum billStatus) - : base(id) - { - MessageFileReceiveID = messageFileReceiveID; - HostSN = hostSN; - KNR = kNR; - AssemblyID = assemblyID; - OnlineTime = onlineTime; - ReceiveTime = receiveTime; - VehicleModelCode = vehicleModelCode; - ProductLine = productLine; - Version = version; - BillStatus = billStatus; - R100RepeatParts = new List(); - } - public virtual void AddChildObj(Guid id, string partCode, double? partNum, string description) - { - R100RepeatParts.Add(new RepeatR100Part(id, partCode, partNum, description)); - } - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100Part.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100Part.cs deleted file mode 100644 index ee486b7e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/RepeatR100Part.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 焊装重复单据和零件关系表 - /// - public class RepeatR100Part : AuditedEntity - { - /// - /// 客户零件代码 - /// - public virtual string PartCode { get; protected set; } - - /// - /// 客户零件数量 - /// - public virtual double? PartNum { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; protected set; } - - protected RepeatR100Part() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public RepeatR100Part(Guid id, string partCode, double? partNum, string description) - :base(id) - { - PartCode = partCode; - PartNum = partNum; - Description = description; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssembly.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssembly.cs deleted file mode 100644 index 5eb2a0ac..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssembly.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 未知总成维护 - /// - public class UnknownAssembly : FullAuditedAggregateRoot - { - /// - /// 单据ID - /// - public virtual Guid BillID { get; protected set; } - - /// - /// 扫描点:R100 M100 - /// - public virtual string ScanPoint { get; protected set; } - - /// - /// 客户零件数量 - /// - public virtual double? PartNum { get; protected set; } - - /// - /// 备注 - /// - public virtual string Description { get; set; } - - - /// - /// 未知总成包含的零件列表 - /// - public List UnknownAssemblyParts { get; protected set; } - - protected UnknownAssembly() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public UnknownAssembly(Guid id, Guid billID, string scanPoint, double? partNum = null) - : base(id) - { - BillID = billID; - ScanPoint = scanPoint; - PartNum = partNum; - UnknownAssemblyParts = new List(); - } - - public virtual void AddChildObj(Guid id, string partCode, double? partNum, string description = null) - { - UnknownAssemblyParts.Add(new UnknownAssemblyPart(id, partCode, partNum, description)); - } - - public virtual void SetPartNum(double partNum) - { - this.PartNum = partNum; - } - - public virtual void SetExtraProperties(string flag) - { - IDictionary dicObj = new Dictionary(); - dicObj.Add("是否初始化", flag); - - this.ExtraProperties = new Volo.Abp.Data.ExtraPropertyDictionary(dicObj); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssemblyPart.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssemblyPart.cs deleted file mode 100644 index b32f94d0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Entitys/UnknownAssemblyPart.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 未知总成和零件关系表 - /// - public class UnknownAssemblyPart : FullAuditedEntity - { - /// - /// 客户零件代码 - /// - public virtual string PartCode { get; protected set; } - - /// - /// 数量 - /// - public virtual double? PartNum { get; protected set; } - - /// - /// 描述 - /// - public virtual string Description { get; protected set; } - - protected UnknownAssemblyPart() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - protected UnknownAssemblyPart(Guid id) - { - this.Id = id; - } - - public UnknownAssemblyPart(Guid id, string partCode, double? partNum, string description) - : base(id) - { - PartCode = partCode; - PartNum = partNum; - Description = description; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/M100CheckDomainService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/M100CheckDomainService.cs deleted file mode 100644 index ddeecdbf..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/M100CheckDomainService.cs +++ /dev/null @@ -1,652 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.MsgBaseData; -using Newtonsoft.Json.Linq; -using System.Threading; -using System.IO; -using WY.NewJit.MsgTransmission; -using Volo.Abp.Domain.Services; -using WY.NewJit.MsgCheck; -using WY.NewJit.Common; -using WY.NewJit.MsgConversion; -using Volo.Abp.ObjectMapping; -using WY.NewJit.IRepositories; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 报文校验领域服务实现 - /// - public class M100CheckDomainService : DomainService - { - - /// - /// M100单据 - /// - private readonly IRepository _billM100Repository; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 日志提醒 - /// - private readonly LogRemindDomainService _logRemindDomainService; - - /// - /// 对象映射 - /// - private readonly IObjectMapper _objectMapper; - - /// - /// 重复M100 - /// - private readonly IRepository _repeatM100Repository; - - /// - /// 排除零件配置 - /// - private readonly IRepository _excludePartCfgRepository; - - /// - /// 未知总成维护 - /// - private readonly IRepository _unknownAssemblyRepository; - - /// - /// 配置文件 - /// - private readonly Microsoft.Extensions.Configuration.IConfiguration _configuration; - - /// - /// Dapper仓储 - /// - private readonly INewJitDapperRepository _newJitDapperRepository; - - /// - /// 整车总成配置仓库 - /// - private readonly IRepository _assemblyCfgVehicleRepository; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 单据号,写日志时用(R100时是KNR,M100是时VIN) - /// - private string _billNumber = ""; - - private int _parseAssemblyCycleCount = 0; - - /// - /// 解析Erp总成时的循环数量 - /// - public int ParseAssemblyCycleCount - { - get - { - if (_parseAssemblyCycleCount == 0) - { - _parseAssemblyCycleCount = _configuration["ConfigDic:ParseAssemblyCycleCount"].TryToInt() ?? 4; - } - return _parseAssemblyCycleCount; - - } - } - - /// - /// 整车总成Id列表 - /// - static List _vehicleAssemblyIdList = new List(); - - /// - /// 整车vs零件列表 - /// - static List _vehicle2partList = new List(); - - /// - /// Erp总成Id列表 - /// - static List _erpAssemblyMainList = new List(); - - /// - /// Erp总成vs零件列表 - /// - static List _erp2partList = new List(); - - - public M100CheckDomainService() - { } - - /// - /// 构造函数 - /// - public M100CheckDomainService( - IRepository billM100Repository, - ILogger logger, - LogRemindDomainService logRemindDomainService, - IObjectMapper objectMapper, - IRepository repeatM100Repository, - IRepository excludePartCfgRepository, - IRepository unknownAssemblyRepository, - Microsoft.Extensions.Configuration.IConfiguration configuration, - INewJitDapperRepository newJitDapperRepository, - IRepository assemblyCfgVehicleRepository - ) - { - _billM100Repository = billM100Repository; - _logger = logger; - _logRemindDomainService = logRemindDomainService; - _objectMapper = objectMapper; - _repeatM100Repository = repeatM100Repository; - _excludePartCfgRepository = excludePartCfgRepository; - _unknownAssemblyRepository = unknownAssemblyRepository; - _configuration = configuration; - _newJitDapperRepository = newJitDapperRepository; - _assemblyCfgVehicleRepository = assemblyCfgVehicleRepository; - } - - #region 公共方法 - - public virtual void InitPub(List vehicleAssemblyIdList, List vehicle2partList, List erpAssemblyMainList, List erp2partList) - { - _vehicleAssemblyIdList = vehicleAssemblyIdList; - _vehicle2partList = vehicle2partList; - _erpAssemblyMainList = erpAssemblyMainList; - _erp2partList = erp2partList; - } - - public ObjectResultDto DoCheckM100Bill(MessageReceive msgReceiveObj, BillM100 m100Bill, ref int repeatMaxSN, ref int m100BillMaxSN) - { - ObjectResultDto ret = new ObjectResultDto(); - _billNumber = m100Bill.VIN; - try - { - bool isRepeat = _billM100Repository.Any(itm => itm.HostSN == m100Bill.HostSN && itm.VIN == m100Bill.VIN); - if (isRepeat == true) - { - #region 重复报文 - repeatMaxSN++; - InsertM100RepeatBill(msgReceiveObj, m100Bill, repeatMaxSN); - string errorMsg = "报文重复,请到重复报文模块查看:" + msgReceiveObj.MessageFileName; - _logRemindDomainService.WriteLogRemind(_billNumber, errorMsg, LogTypeEnum.M100); - return ret; - #endregion - } - else - { - #region 根据"排除模块配置"过滤掉不需要的结算件 - List excludeLst = new List(); - string vehicleModelCode = m100Bill.VehicleModelCode; - foreach (BillM100Part partItem in m100Bill.BillM100Parts) //遍历单据零件 - { - bool existExclude = _excludePartCfgRepository.Any(itm => itm.VehicleModelCode == vehicleModelCode && itm.PartCode == partItem.PartCode); - if (existExclude) - { - excludeLst.Add(partItem.Id); - } - } - int delCnt = m100Bill.BillM100Parts.RemoveAll(itm2 => excludeLst.Contains(itm2.Id)); - if (delCnt > 0) - { - _logger.LogDebug(_errorMessagePrefix + $"排除掉{delCnt}个零件。VIN :{m100Bill.VIN},大众顺序号:{m100Bill.HostSN}"); - } - #endregion - - #region 根据“总成配置”将结算件拼装成总成件 - bool isMatch = DoMatchAssembly(m100Bill); - if (isMatch) - { - #region 判断是否断号 - //断号判断规则:大众顺序号生成规则是1至1999的重复循环,重复循环到1时判断之前最近的相同车型的VIN和当前VIN是否连续,如果不连续则表示断号 - //断号判断:大众顺序号按生产线分类判断;VIN按车型分类判断 - Guid curId = m100Bill.Id; - string curProductLine = m100Bill.ProductLine; - int curHostSN = (int)m100Bill.HostSN; - string curVehicleModel = m100Bill.VehicleModelCode; - string curVin = m100Bill.VIN; - //取最后单据:除当前单据、相同生产线的最大创建日期 - DateTime maxCreationTime = _billM100Repository - .Where(itm => itm.Id != curId && itm.ProductLine == curProductLine) - .Max(itm => itm.CreationTime); - var lastBill = _billM100Repository.FirstOrDefault(itm => itm.CreationTime == maxCreationTime); //根据最大创建日期取上一单据 - if (lastBill != null) - { - int lastHostSN = (int)lastBill.HostSN; - if (curHostSN < lastHostSN) //1999 to 1的情况 - { - //取最后单据:除当前单据、上一相同车型的最大创建日期 - maxCreationTime = _billM100Repository - .Where(itm => itm.Id != curId && itm.VehicleModelCode == curVehicleModel) - .Max(itm => itm.CreationTime); - lastBill = _billM100Repository.FirstOrDefault(itm => itm.CreationTime == maxCreationTime); - if (lastBill != null) - { - //比较底盘号 - int lastVinInt = lastBill.VIN.Substring(2).TryToIntZero(); //8M3447396 - int curVinInt = curVin.Substring(2).TryToIntZero(); - if (curVinInt - lastVinInt != 1) //VIN不连续 - { - //断号提醒 - string errorMsg = $"M100报文出现断号,当前VIN:{curVin},上一VIN:{lastBill.VIN}。可以操作M100单据信息维护模块进行补号!"; - _logRemindDomainService.WriteLogRemind(_billNumber, errorMsg, LogTypeEnum.M100); - } - } - } - else - { - if (curHostSN - lastHostSN != 1) //当前单据和上一单据的大众顺序号不连续 - { - //断号提醒 - string errorMsg = $"M100报文出现断号,当前VIN:{m100Bill.VIN},上一VIN:{lastBill.VIN}。可以操作M100单据信息维护模块进行补号!"; - _logRemindDomainService.WriteLogRemind(_billNumber, errorMsg, LogTypeEnum.M100); - } - } - } - - #endregion - } - else //未匹配总成 - { - _logger.LogDebug(_errorMessagePrefix + "未匹配总成,插入未知总成开始:" + _billNumber); - //更新单据表 - m100Bill.SetAssemblyID(null); - m100Bill.SetBillStatus(BillStatusEnum.NotMatch); - _billM100Repository.InsertAsync(m100Bill, true).GetAwaiter().GetResult(); - - //不匹配时,插入未知总成 - InsertUnknownAssembly(m100Bill); - //写系统内通知 - string errorMsg = "出现未知总成,请到未知总成模块查看:" + this._billNumber; - _logRemindDomainService.WriteLogRemind(_billNumber, errorMsg, LogTypeEnum.M100); - _logger.LogDebug(_errorMessagePrefix + "未匹配总成,插入未知总成完成:" + _billNumber); - return ret; - } - #endregion - } - return ret; - - } - catch (Exception ex) - { - string errorMsg = "调用报文解析及校验方法DoCheckM100Bill出错:" + ex.Message; - _logRemindDomainService.WriteLogRemind(_billNumber, errorMsg, LogTypeEnum.M100); - ret.Status = false; - return ret; - } - } - - public bool DoMatchAssembly(BillM100 m100Bill, bool isBillUpdate = false) - { - bool ret = false; - try - { - //判断总成 - CompareAssemblyResult compareResult = IsMatchAssembly(m100Bill); - if (compareResult.VehicleAssemblyResult != null) //匹配整车总成 - { - _logger.LogDebug(_errorMessagePrefix + "已匹配整车总成开始:" + _billNumber); - //更新单据表 - m100Bill.SetAssemblyID(compareResult.VehicleAssemblyResult.VehicleId); - m100Bill.SetBillStatus(BillStatusEnum.Match); - if (isBillUpdate == true) //未知总成模块-重新解析时修改R100单据(单据已经存在) - { - _billM100Repository.UpdateAsync(m100Bill, true).GetAwaiter().GetResult(); - } - else - { - _billM100Repository.InsertAsync(m100Bill, true).GetAwaiter().GetResult(); - } - _logger.LogDebug(_errorMessagePrefix + "已匹配整车总成完成:" + _billNumber); - ret = true; - } - else if (compareResult.ErpAssemblyResult != null) //匹配ERP总成 - { - _logger.LogDebug(_errorMessagePrefix + "已匹配Erp总成开始:" + _billNumber); - //插入整车总成 - var erpIdLst = compareResult.ErpAssemblyResult.ErpAssemblyIdList; //Erp总成ID列表 - Guid vehicleAssemblyId = GuidGenerator.Create(); - AssemblyCfgVehicle vehicleAssemblyCfgObj = new AssemblyCfgVehicle(vehicleAssemblyId, null, null, null, true); - foreach (Guid erpId in erpIdLst) //插入子表 - { - vehicleAssemblyCfgObj.AddChildObj(GuidGenerator.Create(), erpId); - } - var vehicleAssemblyResu = _assemblyCfgVehicleRepository.InsertAsync(vehicleAssemblyCfgObj, true).GetAwaiter().GetResult(); - //将新的整车总成 插入内存 - foreach (var item in compareResult.ErpAssemblyResult.Vehicle2PartList) - { - item.VehicleAssemblyId = vehicleAssemblyId; - } - _vehicle2partList.AddRange(compareResult.ErpAssemblyResult.Vehicle2PartList); - //更新单据表 - m100Bill.SetAssemblyID(vehicleAssemblyResu.Id); - m100Bill.SetBillStatus(BillStatusEnum.Match); - if (isBillUpdate == true) //未知总成模块-重新解析时修改R100单据(单据已经存在) - { - _billM100Repository.UpdateAsync(m100Bill, true).GetAwaiter().GetResult(); - } - else - { - _billM100Repository.InsertAsync(m100Bill, true).GetAwaiter().GetResult(); - } - _logger.LogDebug(_errorMessagePrefix + "已匹配Erp总成完成:" + _billNumber); - ret = true; - } - return ret; - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - - #endregion - - #region 私有方法 - - private void InsertM100RepeatBill(MessageReceive msgReceiveObj, BillM100 m100Bill, int? maxSerialNum) - { - RepeatM100 repeatBill = new RepeatM100( - GuidGenerator.Create(), - msgReceiveObj.Id, - maxSerialNum, - m100Bill.HostSN, - m100Bill.KNR, - m100Bill.VIN, - null, - m100Bill.OnlineTime, - ServerHelper.CurrentDateTime, - m100Bill.VehicleModelCode, - m100Bill.ProductLine, - ((DateTime)m100Bill.OnlineTime).ToString("yyyyMM"), - BillStatusEnum.None - ); - - //零件子表赋值 - foreach (BillM100Part m100Part in m100Bill.BillM100Parts) - { - repeatBill.AddChildObj(GuidGenerator.Create(), m100Part.PartCode, m100Part.PartNum, m100Part.Description); - } - //插入重复单据 - _repeatM100Repository.InsertAsync(repeatBill, true).GetAwaiter().GetResult(); - } - - /// - /// 总成比较 - /// - /// - /// - /// - private CompareAssemblyResult IsMatchAssembly(BillM100 m100Bill, bool isBillSaved = false) - { - CompareAssemblyResult ret = new CompareAssemblyResult(); - try - { - #region 先进行整车总成匹配 - CompareVehicleAssemblyResult vehicleResult = CompareVehicleAssembly(m100Bill); - if (vehicleResult.IsMatch == true) - { - ret.VehicleAssemblyResult = vehicleResult; - return ret; - } - #endregion - - #region 再进行Erp总成匹配 - CompareErpAssemblyResult erpResult = CompareErpAssembly(m100Bill); - if (erpResult.IsMatch == true) - { - ret.ErpAssemblyResult = erpResult; - return ret; - } - _logger.LogDebug(_errorMessagePrefix + "未匹配Erp总成:" + _billNumber); - - #endregion - return ret; - } - catch (Exception ex) - { - throw new Exception($"-MatchAssembly子方法-{_billNumber}-" + ex.Message); - } - } - - /// - /// 整车总成比较 - /// - /// - /// 整车总成ID - private CompareVehicleAssemblyResult CompareVehicleAssembly(BillM100 m100Bill) - { - try - { - //取总成表中所有总成,分别和sourceAssemblyParts进行比较,相等时返回总成ID - CompareVehicleAssemblyResult ret = new CompareVehicleAssemblyResult(); - //排除柱护板 - List partLst = m100Bill.BillM100Parts; - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - { - partLst = m100Bill.BillM100Parts.Where(itm => itm.Description != "柱护板").ToList(); - } - //遍历所有整车总成,与单据中的结算件进行比较 - foreach (Guid vehicleId in _vehicleAssemblyIdList) - { - List vehicle2PartLst = _vehicle2partList.Where(itm => itm.VehicleAssemblyId == vehicleId).ToList(); - - //类型转换 AssemblyCfgPartDto to BillM100Part - List vehicleParts = new List(); - foreach (AssemblyCfgVehicle2Part vehicle2PartItm in vehicle2PartLst) - { - BillM100Part tempObj = new BillM100Part(GuidGenerator.Create(), vehicle2PartItm.PartCode, vehicle2PartItm.PartNum); - vehicleParts.Add(tempObj); - } - //集合比较 - bool isSame = CompareTwoCollection(partLst, vehicleParts); - if (isSame) //已匹配 - { - ret.VehicleId = vehicleId; //整车总成ID - ret.IsMatch = true; - return ret; - } - } - //不匹配 - ret.IsMatch = false; - return ret; - } - catch (Exception ex) - { - throw new Exception($"-CompareVehicleAssembly子方法-{_billNumber}-" + ex.Message); - } - } - - /// - /// 两个集合比较 - /// - /// - /// - /// - private bool CompareTwoCollection(List sourceLst, List targetLst) - { - if (sourceLst == null || targetLst == null || sourceLst.Count == 0 || targetLst.Count == 0) - { - return false; - } - if (sourceLst.Count != targetLst.Count) - { - return false; - } - - var srcOrdLst = sourceLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - var tarOrdLst = targetLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - bool isEqual = srcOrdLst.SequenceEqual(tarOrdLst, new M100PartListEquality()); - return isEqual; - } - - /// - /// ERP总成比较 - /// - /// - /// 匹配的若干个Erp总成ID - private CompareErpAssemblyResult CompareErpAssembly(BillM100 m100Bill) - { - try - { - //取总成表中所有总成,分别和sourceAssemblyParts进行比较,相等时返回总成ID - CompareErpAssemblyResult ret = new CompareErpAssemblyResult(); - //排除柱护板 - List partLst = m100Bill.BillM100Parts; - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - { - partLst = m100Bill.BillM100Parts.Where(itm => itm.Description != "柱护板").ToList(); - } - - #region 进一步过滤结算件 - //1.按车型过滤 - //2.遍历所有Erp总成中的结算件,判断是不是单据中结算件的子集? - List filterErpAssemblyIdLst = new List(); - List billPartCodeLst = partLst.Select(itm => itm.PartCode).ToList(); - foreach (ErpAssemblyMain erpMainObj in _erpAssemblyMainList) - { - if (erpMainObj.VehicleModel == m100Bill.VehicleModelCode) //按车型过滤 - { - List erpPartCodeLst = _erp2partList.Where(itm => itm.ErpAssemblyId == erpMainObj.Id).Select(itm => itm.PartCode).ToList(); - bool isSubset = !erpPartCodeLst.Except(billPartCodeLst).Any(); //是子集 - if (isSubset) - { - filterErpAssemblyIdLst.Add(erpMainObj.Id); - } - } - } - #endregion - - int cnt = this.ParseAssemblyCycleCount; - - _logger.LogDebug(_errorMessagePrefix + "_parseAssemblyCycleCount:" + cnt + ", filterErpAssemblyIdLst:" + filterErpAssemblyIdLst.Count()); - - for (int i = cnt; i > 0; i--) - { - List combLst = PermutationAndCombination.GetCombination(filterErpAssemblyIdLst.ToArray(), i); //求全部的 n*n 组合 - if (combLst == null) - { - continue; - } - foreach (Guid[] combItm in combLst) - { - List erpIdLst = combItm.ToList(); - //按PartCode分组汇总PartNum - var query = from item in _erp2partList - where erpIdLst.Contains(item.ErpAssemblyId) - group item by item.PartCode into g - select new - { - PartCode = g.Key, - PartNum = g.Sum(itm => itm.PartNum) - }; - List groupLst = new List(); - foreach (var item in query) - { - BillM100Part groupObj = new BillM100Part(GuidGenerator.Create(), item.PartCode, item.PartNum); - groupLst.Add(groupObj); - } - - bool isSame = CompareTwoCollection(partLst, groupLst); - if (isSame) //已匹配 - { - ret.ErpAssemblyIdList = erpIdLst; - //为了在调用方法中将整车总成添加到内存 - List vehicle2PartLst = new List(); - foreach (var groupItm in groupLst) - { - AssemblyCfgVehicle2Part vehicle2PartObj = new AssemblyCfgVehicle2Part(); - //vehicle2PartObj.VehicleAssemblyId = Guid.NewGuid(); - vehicle2PartObj.PartId = Guid.NewGuid(); - vehicle2PartObj.PartCode = groupItm.PartCode; - vehicle2PartObj.PartNum = groupItm.PartNum; - //vehicle2PartObj.IsKey = ""; - vehicle2PartLst.Add(vehicle2PartObj); - } - ret.Vehicle2PartList = vehicle2PartLst; - ret.IsMatch = true; - return ret; - } - } - } - ret.IsMatch = false; - return ret; - } - catch (Exception ex) - { - throw new Exception($"-CompareErpAssembly子方法-{_billNumber}-" + ex.Message); - } - } - - /// - /// 不匹配时,插入未知总成,写提醒日志 - /// - /// - private void InsertUnknownAssembly(BillM100 bill) - { - try - { - //插入未知总成 - UnknownAssembly unknownAssemblyObj = new UnknownAssembly(GuidGenerator.Create(), bill.Id, "M100"); - //预批量赋值 - unknownAssemblyObj.Description = bill.Description; //描述字段保存预批量信息 - - foreach (BillM100Part billPart in bill.BillM100Parts) - { - unknownAssemblyObj.AddChildObj(GuidGenerator.Create(), billPart.PartCode, billPart.PartNum, billPart.Description); - } - var partNumSum = unknownAssemblyObj.UnknownAssemblyParts.Sum(itm => (int)itm.PartNum); - unknownAssemblyObj.SetPartNum(partNumSum); - _unknownAssemblyRepository.InsertAsync(unknownAssemblyObj, true).GetAwaiter().GetResult(); - } - catch (Exception ex) - { - throw new Exception($"-InsertUnknownAssembly子方法-{_billNumber}-" + ex.Message); - - } - } - #endregion - - }//class - - public class M100PartListEquality : IEqualityComparer - { - public bool Equals(BillM100Part x, BillM100Part y) - { - return x.PartCode == y.PartCode && x.PartNum == y.PartNum; - } - - public int GetHashCode(BillM100Part obj) - { - if (obj == null) - { - return 0; - } - else - { - return obj.ToString().GetHashCode(); - } - } - } -} - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/R100CheckDomainService.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/R100CheckDomainService.cs deleted file mode 100644 index 18015754..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgCheck/Services/R100CheckDomainService.cs +++ /dev/null @@ -1,733 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Logging; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Linq.Dynamic.Core; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Uow; -using Microsoft.AspNetCore.Mvc; -using WY.NewJit.MsgBaseData; -using Newtonsoft.Json.Linq; -using System.Threading; -using System.IO; -using WY.NewJit.MsgTransmission; -using Volo.Abp.Domain.Services; -using WY.NewJit.MsgCheck; -using WY.NewJit.Common; -using WY.NewJit.MsgConversion; -using Volo.Abp.ObjectMapping; -using WY.NewJit.IRepositories; - -namespace WY.NewJit.MsgCheck -{ - /// - /// 报文校验领域服务实现 - /// - public class R100CheckDomainService : DomainService - { - - - /// - /// R100单据 - /// - private readonly IRepository _billR100Repos; - - /// - /// 日志 - /// - private ILogger _logger; - - /// - /// 日志提醒 - /// - private readonly LogRemindDomainService _logRemindDomainService; - - /// - /// 对象映射 - /// - private readonly IObjectMapper _objectMapper; - - /// - /// 重复R100 - /// - private readonly IRepository _repeatR100Repos; - - - /// - /// 排除零件配置 - /// - private readonly IRepository _excludePartCfgRepository; - - /// - /// 未知总成维护 - /// - private readonly IRepository _unknownAssemblyRepository; - - /// - /// 配置文件 - /// - private readonly Microsoft.Extensions.Configuration.IConfiguration _configuration; - - /// - /// Dapper仓储 - /// - private readonly INewJitDapperRepository _newJitDapperRepository; - - /// - /// 整车总成配置仓库 - /// - private readonly IRepository _assemblyCfgVehicleRepository; - - /// - /// 错误信息前缀 - /// - private string _errorMessagePrefix - { - get - { - return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; - } - } - - /// - /// 单据号,写日志时用(R100时是KNR,M100是时VIN) - /// - private string _billNumber = ""; - - private int _parseAssemblyCycleCount = 0; - - /// - /// 解析Erp总成时的循环数量 - /// - public int ParseAssemblyCycleCount - { - get - { - if (_parseAssemblyCycleCount == 0) - { - _parseAssemblyCycleCount = _configuration["ConfigDic:ParseAssemblyCycleCount"].TryToInt() ?? 4; - } - return _parseAssemblyCycleCount; - - } - } - - /// - /// 整车总成Id列表 - /// - static List _vehicleAssemblyIdList = new List(); - - /// - /// 整车vs零件列表 - /// - static List _vehicle2partList = new List(); - - /// - /// Erp总成Id列表 - /// - static List _erpAssemblyMainList = new List(); - - /// - /// Erp总成vs零件列表 - /// - static List _erp2partList = new List(); - - - public R100CheckDomainService() - { } - - /// - /// 构造函数 - /// - public R100CheckDomainService( - IRepository billR100Repos, - ILogger logger, - LogRemindDomainService logRemindDomainService, - IObjectMapper objectMapper, - IRepository repeatR100Repos, - IRepository excludePartCfgRepository, - IRepository unknownAssemblyRepository, - Microsoft.Extensions.Configuration.IConfiguration configuration, - INewJitDapperRepository newJitDapperRepository, - IRepository assemblyCfgVehicleRepository - ) - { - _billR100Repos = billR100Repos; - _logger = logger; - _logRemindDomainService = logRemindDomainService; - _objectMapper = objectMapper; - _repeatR100Repos = repeatR100Repos; - _excludePartCfgRepository = excludePartCfgRepository; - _unknownAssemblyRepository = unknownAssemblyRepository; - _configuration = configuration; - _newJitDapperRepository = newJitDapperRepository; - _assemblyCfgVehicleRepository = assemblyCfgVehicleRepository; - - } - - #region 公共方法 - - public virtual void InitPub(List vehicleAssemblyIdList, List vehicle2partList, List erpAssemblyMainList, List erp2partList) - { - _vehicleAssemblyIdList = vehicleAssemblyIdList; - _vehicle2partList = vehicle2partList; - _erpAssemblyMainList = erpAssemblyMainList; - _erp2partList = erp2partList; - } - - public ObjectResultDto DoCheckR100(MessageReceive msgReceiveObj, BillR100 r100Bill, ref int repeatMaxSN) - { - ObjectResultDto ret = new ObjectResultDto(); - _billNumber = r100Bill.KNR; - try - { - bool isRepeat = _billR100Repos.Any(itm => itm.HostSN == r100Bill.HostSN && itm.KNR == r100Bill.KNR); - if (isRepeat == true) - { - //插入重复报文 - repeatMaxSN++; - InsertR100Repeat(msgReceiveObj, r100Bill, repeatMaxSN); - string errorMsg = "报文重复,请到重复报文模块查看:" + msgReceiveObj.MessageFileName; - _logRemindDomainService.WriteLogRemind(_billNumber, errorMsg, LogTypeEnum.R100); - return ret; - } - else - { - #region 根据"排除模块配置"过滤掉不需要的结算件 - List excludeLst = new List(); - string vehicleModelCode = r100Bill.VehicleModelCode; - foreach (BillR100Part partItm in r100Bill.BillR100Parts) //遍历单据零件 - { - bool existExclude = _excludePartCfgRepository.Any(itm => itm.VehicleModelCode == vehicleModelCode && itm.PartCode == partItm.PartCode); - if (existExclude) - { - excludeLst.Add(partItm.Id); - } - } - int delCnt = r100Bill.BillR100Parts.RemoveAll(itm2 => excludeLst.Contains(itm2.Id)); - if (delCnt > 0) - { - _logger.LogDebug(_errorMessagePrefix + $"排除掉{delCnt}个零件。KNR :{r100Bill.KNR},大众顺序号:{r100Bill.HostSN}"); - } - #endregion - - #region 根据“总成配置”将结算件拼装成总成件 - bool isMatch = DoMatchAssembly(r100Bill); - if (isMatch == true) - { - #region 判断是否断号 - Guid curId = r100Bill.Id; - string curProductLine = r100Bill.ProductLine; - int curHostSN = (int)r100Bill.HostSN; - //取最后单据:除当前单据、相同生产线的最大创建日期 - DateTime maxCreationTime = _billR100Repos - .Where(itm => itm.Id != curId && itm.ProductLine == curProductLine) - .Max(itm => itm.CreationTime); - var lastBill = _billR100Repos.FirstOrDefault(itm => itm.CreationTime == maxCreationTime); //根据最大创建日期取上一单据 - if (lastBill != null) - { - int lastHostSN = (int)lastBill.HostSN; - if (curHostSN < lastHostSN) //1999 to 1的情况 - { - } - else - { - if (curHostSN - lastHostSN != 1) //当前单据和上一单据的大众顺序号不连续 - { - //断号提醒 - string errorMsg = $"R100报文出现断号,当前KNR:{r100Bill.KNR},上一KNR:{lastBill.KNR}"; - _logRemindDomainService.WriteLogRemind(_billNumber, errorMsg, LogTypeEnum.R100); - } - } - } - #endregion - } - else //未匹配总成 - { - _logger.LogDebug(_errorMessagePrefix + "未匹配总成,插入未知总成开始:" + _billNumber); - //更新单据表 - r100Bill.SetAssemblyID(null); - r100Bill.SetBillStatus(BillStatusEnum.NotMatch); - _billR100Repos.InsertAsync(r100Bill, true).GetAwaiter().GetResult(); - - //不匹配时,插入未知总成r100Bill - InsertUnknownAssembly(r100Bill); - //写未知总成提醒日志 - string errorMsg = "出现未知总成,请到未知总成模块查看:" + this._billNumber; - _logRemindDomainService.WriteLogRemind(_billNumber, errorMsg, LogTypeEnum.R100); - _logger.LogDebug(_errorMessagePrefix + "插入未知总成完成:" + _billNumber); - } - #endregion - } - return ret; - - } - catch (Exception ex) - { - string errorMsg = "调用报文解析及校验方法DoCheckR100Bill出错:" + ex.Message; - _logRemindDomainService.WriteLogRemind(_billNumber, errorMsg, LogTypeEnum.R100); - ret.Status = false; - return ret; - } - } - - public bool DoMatchAssembly(BillR100 r100Bill, bool isBillUpdate = false) - { - bool ret = false; - try - { - //判断总成 - CompareAssemblyResult compareResult = IsMatchAssembly(r100Bill); - if (compareResult.VehicleAssemblyResult != null) //匹配整车总成 - { - _logger.LogDebug(_errorMessagePrefix + "已匹配整车总成开始:" + _billNumber); - //更新单据表 - r100Bill.SetAssemblyID(compareResult.VehicleAssemblyResult.VehicleId); - r100Bill.SetBillStatus(BillStatusEnum.Match); - if (isBillUpdate == true) //未知总成模块-重新解析时修改R100单据(单据已经存在) - { - _billR100Repos.UpdateAsync(r100Bill, true).GetAwaiter().GetResult(); - } - else - { - _billR100Repos.InsertAsync(r100Bill, true).GetAwaiter().GetResult(); - } - _logger.LogDebug(_errorMessagePrefix + "已匹配整车总成完成:" + _billNumber); - ret = true; - } - else if (compareResult.ErpAssemblyResult != null) //匹配ERP总成 - { - _logger.LogDebug(_errorMessagePrefix + "已匹配Erp总成开始:" + _billNumber); - //插入整车总成 - var erpIdLst = compareResult.ErpAssemblyResult.ErpAssemblyIdList; //Erp总成ID列表 - Guid vehicleAssemblyId = GuidGenerator.Create(); - AssemblyCfgVehicle vehicleAssemblyCfgObj = new AssemblyCfgVehicle(vehicleAssemblyId, null, null, null, true); - foreach (Guid erpId in erpIdLst) //插入子表 - { - vehicleAssemblyCfgObj.AddChildObj(GuidGenerator.Create(), erpId); - } - var vehicleAssemblyResu = _assemblyCfgVehicleRepository.InsertAsync(vehicleAssemblyCfgObj, true).GetAwaiter().GetResult(); - //将新的整车总成 插入内存 - foreach (var item in compareResult.ErpAssemblyResult.Vehicle2PartList) - { - item.VehicleAssemblyId = vehicleAssemblyId; - } - _vehicle2partList.AddRange(compareResult.ErpAssemblyResult.Vehicle2PartList); - //更新单据表 - r100Bill.SetAssemblyID(vehicleAssemblyResu.Id); - r100Bill.SetBillStatus(BillStatusEnum.Match); - if (isBillUpdate == true) //未知总成模块-重新解析时修改R100单据(单据已经存在) - { - _billR100Repos.UpdateAsync(r100Bill, true).GetAwaiter().GetResult(); - } - else - { - _billR100Repos.InsertAsync(r100Bill, true).GetAwaiter().GetResult(); - } - _logger.LogDebug(_errorMessagePrefix + "已匹配Erp总成完成:" + _billNumber); - ret = true; - } - return ret; - } - catch (Exception ex) - { - throw new Exception(ex.Message); - } - - } - #endregion - - #region 私有方法 - - private void InsertR100Repeat(MessageReceive msgReceiveObj, BillR100 r100Bill, int? maxSerialNum) - { - RepeatR100 repeatBill = new RepeatR100( - GuidGenerator.Create(), - msgReceiveObj.Id, - r100Bill.HostSN, - r100Bill.KNR, - null, - r100Bill.OnlineTime, - ServerHelper.CurrentDateTime, - r100Bill.VehicleModelCode, - r100Bill.ProductLine, - ((DateTime)r100Bill.OnlineTime).ToString("yyyyMM"), - BillStatusEnum.None - ); - - //零件子表赋值 - foreach (BillR100Part r100Part in r100Bill.BillR100Parts) - { - repeatBill.AddChildObj(GuidGenerator.Create(), r100Part.PartCode, r100Part.PartNum, r100Part.Description); - } - //插入重复单据 - _repeatR100Repos.InsertAsync(repeatBill, true).GetAwaiter().GetResult(); - - } - - - /// - /// 总成比较 - /// - /// - /// - /// - private CompareAssemblyResult IsMatchAssembly(BillR100 r100Bill, bool isBillSaved = false) - { - CompareAssemblyResult ret = new CompareAssemblyResult(); - try - { - #region 先进行整车总成匹配 - CompareVehicleAssemblyResult vehicleResult = CompareVehicleAssembly(r100Bill); - if (vehicleResult.IsMatch == true) - { - ret.VehicleAssemblyResult = vehicleResult; - return ret; - } - #endregion - - #region 再进行Erp总成匹配 - CompareErpAssemblyResult erpResult = CompareErpAssembly(r100Bill); - if (erpResult.IsMatch == true) - { - ret.ErpAssemblyResult = erpResult; - return ret; - } - _logger.LogDebug(_errorMessagePrefix + "未匹配Erp总成:" + _billNumber); - - #endregion - return ret; - } - catch (Exception ex) - { - throw new Exception($"-MatchAssembly子方法-{_billNumber}-" + ex.Message); - } - } - - /// - /// 整车总成比较 - /// - /// - /// 整车总成ID - private CompareVehicleAssemblyResult CompareVehicleAssembly(BillR100 r100Bill) - { - try - { - //取总成表中所有总成,分别和sourceAssemblyParts进行比较,相等时返回总成ID - CompareVehicleAssemblyResult ret = new CompareVehicleAssemblyResult(); - //排除柱护板 - List partLst = r100Bill.BillR100Parts; - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - { - partLst = r100Bill.BillR100Parts.Where(itm => itm.Description != "柱护板").ToList(); - } - - foreach (Guid vehicleId in _vehicleAssemblyIdList) - { - List vehicle2PartLst = _vehicle2partList.Where(itm => itm.VehicleAssemblyId == vehicleId).ToList(); - - //类型转换 AssemblyCfgPartDto to BillR100Part - List vehicleParts = new List(); - foreach (AssemblyCfgVehicle2Part vehicle2PartItm in vehicle2PartLst) - { - BillR100Part tempObj = new BillR100Part(GuidGenerator.Create(), vehicle2PartItm.PartCode, vehicle2PartItm.PartNum); - vehicleParts.Add(tempObj); - } - //集合比较 - bool isSame = CompareTwoCollection(partLst, vehicleParts); - if (isSame) //已匹配 - { - ret.VehicleId = vehicleId; //整车总成ID - ret.IsMatch = true; - return ret; - } - } - //不匹配 - ret.IsMatch = false; - return ret; - } - catch (Exception ex) - { - throw new Exception($"-CompareVehicleAssembly子方法-{_billNumber}-" + ex.Message); - } - } - - - /// - /// 两个集合比较 - /// - /// - /// - /// - private bool CompareTwoCollection(List sourceLst, List targetLst) - { - if (sourceLst == null || targetLst == null || sourceLst.Count == 0 || targetLst.Count == 0) - { - return false; - } - if (sourceLst.Count != targetLst.Count) - { - return false; - } - - var srcOrdLst = sourceLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - var tarOrdLst = targetLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); - bool isEqual = srcOrdLst.SequenceEqual(tarOrdLst, new R100PartListEquality()); - return isEqual; - } - - /// - /// ERP总成比较 - /// - /// - /// 匹配的若干个Erp总成ID - private CompareErpAssemblyResult CompareErpAssembly(BillR100 r100Bill) - { - try - { - //取总成表中所有总成,分别和sourceAssemblyParts进行比较,相等时返回总成ID - CompareErpAssemblyResult ret = new CompareErpAssemblyResult(); - //排除柱护板 - List partLst = r100Bill.BillR100Parts; - if (ConfigDic.CurrentVersion == ConfigDicVersionOption.派格) - { - partLst = r100Bill.BillR100Parts.Where(itm => itm.Description != "柱护板").ToList(); - } - - #region 进一步过滤结算件 - //1.按车型过滤 - //2.遍历所有Erp总成中的结算件,判断是否是单据中结算件的子集 - List filterErpAssemblyIdLst = new List(); - - List billPartCodeLst = partLst.Select(itm => itm.PartCode).ToList(); - foreach (ErpAssemblyMain erpMainObj in _erpAssemblyMainList) - { - if (erpMainObj.VehicleModel == r100Bill.VehicleModelCode) //按车型过滤 - { - List erpPartCodeLst = _erp2partList.Where(itm => itm.ErpAssemblyId == erpMainObj.Id).Select(itm => itm.PartCode).ToList(); - bool isSubset = !erpPartCodeLst.Except(billPartCodeLst).Any(); //是子集 - if (isSubset) - { - filterErpAssemblyIdLst.Add(erpMainObj.Id); - } - } - } - #endregion - - int cnt = this.ParseAssemblyCycleCount; - - _logger.LogDebug(_errorMessagePrefix + "_parseAssemblyCycleCount:" + cnt + ", filterErpAssemblyIdLst:" + filterErpAssemblyIdLst.Count()); - - for (int i = cnt; i > 0; i--) - { - List combLst = PermutationAndCombination.GetCombination(filterErpAssemblyIdLst.ToArray(), i); //求全部的 n*n 组合 - if (combLst == null) - { - continue; - } - foreach (Guid[] combItm in combLst) - { - List erpIdLst = combItm.ToList(); - //按PartCode分组汇总PartNum - var query = from item in _erp2partList - where erpIdLst.Contains(item.ErpAssemblyId) - group item by item.PartCode into g - select new - { - PartCode = g.Key, - PartNum = g.Sum(itm => itm.PartNum) - }; - List groupLst = new List(); - foreach (var item in query) - { - BillR100Part groupObj = new BillR100Part(GuidGenerator.Create(), item.PartCode, item.PartNum); - groupLst.Add(groupObj); - } - - bool isSame = CompareTwoCollection(partLst, groupLst); - if (isSame) //已匹配 - { - ret.ErpAssemblyIdList = erpIdLst; - //为了在调用方法中将整车总成添加到内存 - List vehicle2PartLst = new List(); - foreach (var groupItm in groupLst) - { - AssemblyCfgVehicle2Part vehicle2PartObj = new AssemblyCfgVehicle2Part(); - //vehicle2PartObj.VehicleAssemblyId = Guid.NewGuid(); - vehicle2PartObj.PartId = Guid.NewGuid(); - vehicle2PartObj.PartCode = groupItm.PartCode; - vehicle2PartObj.PartNum = groupItm.PartNum; - //vehicle2PartObj.IsKey = ""; - vehicle2PartLst.Add(vehicle2PartObj); - } - ret.Vehicle2PartList = vehicle2PartLst; - ret.IsMatch = true; - return ret; - } - } - } - ret.IsMatch = false; - return ret; - } - catch (Exception ex) - { - throw new Exception($"-CompareErpAssembly子方法-{_billNumber}-" + ex.Message); - } - } - - /// - /// 不匹配时,插入未知总成,写提醒日志 - /// - /// - private void InsertUnknownAssembly(BillR100 bill) - { - try - { - //插入未知总成 - UnknownAssembly unknownAssemblyObj = new UnknownAssembly(GuidGenerator.Create(), bill.Id, "R100"); - //预批量赋值 - unknownAssemblyObj.Description = bill.Description; //描述字段保存预批量信息 - - foreach (BillR100Part billPart in bill.BillR100Parts) - { - unknownAssemblyObj.AddChildObj(GuidGenerator.Create(), billPart.PartCode, billPart.PartNum, billPart.Description); - } - var partNumSum = unknownAssemblyObj.UnknownAssemblyParts.Sum(itm => (int)itm.PartNum); - unknownAssemblyObj.SetPartNum(partNumSum); - _unknownAssemblyRepository.InsertAsync(unknownAssemblyObj, true).GetAwaiter().GetResult(); - } - catch (Exception ex) - { - throw new Exception($"-InsertUnknownAssembly子方法-{_billNumber}-" + ex.Message); - } - } - - #endregion - - }//class - public class R100PartListEquality : IEqualityComparer - { - public bool Equals(BillR100Part x, BillR100Part y) - { - return x.PartCode == y.PartCode && x.PartNum == y.PartNum; - } - - public int GetHashCode(BillR100Part obj) - { - if (obj == null) - { - return 0; - } - else - { - return obj.ToString().GetHashCode(); - } - } - } - - public class CompareVehicleAssemblyResult - { - public bool IsMatch { get; set; } - - public Guid VehicleId { get; set; } - } - - - public class CompareErpAssemblyResult - { - public bool IsMatch { get; set; } - - public List ErpAssemblyIdList { get; set; } - - public List Vehicle2PartList { get; set; } - - public CompareErpAssemblyResult() - { - ErpAssemblyIdList = new List(); - - Vehicle2PartList = new List(); - } - } - - public class CompareAssemblyResult - { - public CompareVehicleAssemblyResult VehicleAssemblyResult { get; set; } - - public CompareErpAssemblyResult ErpAssemblyResult { get; set; } - } - - - [Serializable] - public class AssemblyCfgVehicle2Part - { - /// - /// 整车总成ID - /// - public Guid VehicleAssemblyId { get; set; } - - /// - /// 零件ID - /// - public Guid PartId { get; set; } - - /// - /// 客户零件代码 - /// - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - public double? PartNum { get; set; } - - /// - /// 是否Key件 - /// - public bool IsKey { get; set; } - - } - - [Serializable] - public class AssemblyCfgErp2Part - { - /// - /// Erp总成ID - /// - public Guid ErpAssemblyId { get; set; } - - /// - /// 零件ID - /// - public Guid PartId { get; set; } - - /// - /// 客户零件代码 - /// - public string PartCode { get; set; } - - /// - /// 客户零件数量 - /// - public double? PartNum { get; set; } - - /// - /// 是否Key件 - /// - public bool IsKey { get; set; } - - } - - public class ErpAssemblyMain - { - public Guid Id { get; set; } - - public string VehicleModel { get; set; } - } - - - -} - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/BillSortCfg.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/BillSortCfg.cs deleted file mode 100644 index b298f2f1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/BillSortCfg.cs +++ /dev/null @@ -1,39 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgConversion -{ - /// - /// 单据分类配置表 - /// - public class BillSortCfg: AuditedEntity - { - /// - /// 单据名称(读取通用字典) - /// - public virtual string BillName { get; protected set; } - - /// - /// 文件内容识别关键字 - /// - public virtual string FileContentKeyword { get; protected set; } - - protected BillSortCfg() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public BillSortCfg(Guid id, string billName, string fileContentKeyword) - : base(id) - { - BillName = billName; - FileContentKeyword = fileContentKeyword; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfg.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfg.cs deleted file mode 100644 index a031790d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfg.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgConversion -{ - /// - /// 报文版本配置表 - /// - public class MessageVersionCfg : FullAuditedAggregateRoot - { - /// - /// 报文协议及版本 - /// - public virtual string Version { get; protected set; } - - /// - /// 文件名识别关键字 - /// - public virtual string FileNameKeyword { get; protected set; } - - /// - /// 单据分类(不同协议及版本报文通过文件名称区分;相同文件协议及版本的报文通过文件内容中某个关键字区分。) - /// - public virtual List Details { get; protected set; } - - protected MessageVersionCfg() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public MessageVersionCfg(Guid id, string version, string fileNameKeyword) - :base(id) - { - Version = version; - FileNameKeyword = fileNameKeyword; - Details = new List(); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfgDataSeederContributor.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfgDataSeederContributor.cs deleted file mode 100644 index d2124fca..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgConversion/Entitys/MessageVersionCfgDataSeederContributor.cs +++ /dev/null @@ -1,53 +0,0 @@ -using System; -using System.Threading.Tasks; - -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Guids; - -namespace WY.NewJit.MsgConversion -{ - public class MessageVersionCfgDataSeederContributor - : IDataSeedContributor, ITransientDependency - { - private readonly IRepository _messageVersionCfgRepository; - - private readonly IGuidGenerator _guidGenerator; - - public MessageVersionCfgDataSeederContributor( - IRepository repository, - IGuidGenerator guidGenerator - ) - { - _messageVersionCfgRepository = repository; - _guidGenerator = guidGenerator; - } - - public async Task SeedAsync(DataSeedContext context) - { - if (await _messageVersionCfgRepository.GetCountAsync() <= 0) - { - MessageVersionCfg master = new MessageVersionCfg(_guidGenerator.Create(), "未知待定", "jit*.*"); - - BillSortCfg detail1 = new BillSortCfg(_guidGenerator.Create(), "R100", "R100"); - master.Details.Add(detail1); - BillSortCfg detail2 = new BillSortCfg(_guidGenerator.Create(), "M100", "100"); - master.Details.Add(detail2); - - //BillSortCfg detail1 = new BillSortCfg(); - - //detail1.BillName = "R100"; - //detail1.FileContentKeyword = "R100"; - //master.Details.Add(detail1); - - //BillSortCfg detail2 = new BillSortCfg(); - //detail2.BillName = "M100"; - //detail2.FileContentKeyword = "M100"; - //master.Details.Add(detail2); - - await _messageVersionCfgRepository.InsertAsync(master, true); - } - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/ConfigInfo.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/ConfigInfo.cs deleted file mode 100644 index 765ad2ad..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/ConfigInfo.cs +++ /dev/null @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WY.NewJit.MsgTransmission -{ - public class PathConfigInfo - { - /// - /// 接收目录 - /// - public virtual string ReceivePath { get; protected set; } - - /// - /// 工作目录 - /// - public virtual string WorkPath { get; protected set; } - - /// - /// 备份目录 - /// - public virtual string BakPath { get; protected set; } - - /// - /// 错误目录 - /// - public virtual string ErrorPath { get; protected set; } - - /// - /// 报文过滤关键字 - /// - public virtual string FileFilterKeyword { get; protected set; } - - protected PathConfigInfo() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public PathConfigInfo(string receivePath, string workPath, string bakPath, string errorPath) - { - ReceivePath = receivePath; - WorkPath = workPath; - BakPath = bakPath; - ErrorPath = errorPath; - } - - public virtual void SetFileFilterKeyword(string fileFilterKeyword) - { - this.FileFilterKeyword = fileFilterKeyword; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageInfo.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageInfo.cs deleted file mode 100644 index 7181ae4f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageInfo.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace WY.NewJit.MsgTransmission -{ - /// - /// 报文信息类 - /// - public class MessageInfo - { - public virtual string FilePath { get; protected set; } - - public virtual string FileName { get; protected set; } - - protected MessageInfo() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public MessageInfo(string filePath, string fileName) - { - FilePath = filePath; - FileName = fileName; - } - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageReceive.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageReceive.cs deleted file mode 100644 index 23a9ec36..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/MessageReceive.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities; - -namespace WY.NewJit.MsgTransmission -{ - /// - /// 报文接收表 - /// - public class MessageReceive : AggregateRoot - { - /// - /// 电报文件名称 - /// - public virtual string MessageFileName { get; protected set; } - - /// - /// 报文内容JSON - /// - public virtual string MessageContent { get; protected set; } - - /// - /// 接收状态:1 已接收 2 已归档 3 归档失败 - /// - public virtual ReceiveStatusEnum ReceiveStatus { get; protected set; } - - public virtual DateTime ReceiveTime { get; protected set; } - - protected MessageReceive() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public MessageReceive(Guid id, string messageFileName, string messageContent, ReceiveStatusEnum receiveStatus, DateTime receiveTime) - :base(id) - { - this.MessageFileName = messageFileName; - this.MessageContent = messageContent; - this.ReceiveStatus = receiveStatus; - this.ReceiveTime = receiveTime; - } - - public void SetMessageContent(string text) - { - this.MessageContent = text; - } - - public void SetReceiveStatus(ReceiveStatusEnum receiveStatus) - { - this.ReceiveStatus = receiveStatus; - } - - public void SetReceiveTime(DateTime receiveTime) - { - this.ReceiveTime = receiveTime; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfg.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfg.cs deleted file mode 100644 index 9a5f996b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfg.cs +++ /dev/null @@ -1,45 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.MsgTransmission -{ - /// - /// 报文传输方式配置表 - /// - public class TransmissionModeCfg: FullAuditedAggregateRoot - { - /// - /// 报文传输方式类别(1 目录读取 2 文件服务器读取 3 WebApi读取) - /// - public TransmissionModeTypeEnum TransmissionModeType { get; protected set; } - - /// - /// 报文传输方式配置内容 - /// - public virtual string TransmissionModeContent { get; protected set; } - - /// - /// 当前配置是否生效 - /// - public virtual bool? IsApply { get; protected set; } - - protected TransmissionModeCfg() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public TransmissionModeCfg(Guid id, TransmissionModeTypeEnum transmissionModeType, string transmissionModeContent, bool? isApply) - :base(id) - { - TransmissionModeType = transmissionModeType; - TransmissionModeContent = transmissionModeContent; - IsApply = isApply; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfgDataSeederContributor.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfgDataSeederContributor.cs deleted file mode 100644 index 7374178d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/MsgTransmission/Entitys/TransmissionModeCfgDataSeederContributor.cs +++ /dev/null @@ -1,46 +0,0 @@ -using System; -using System.Threading.Tasks; - -using Volo.Abp.Data; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories; -using Volo.Abp.Guids; - -namespace WY.NewJit.MsgTransmission -{ - public class TransmissionModeCfgDataSeederContributor - : IDataSeedContributor, ITransientDependency - { - private readonly IRepository _transmissionModeCfgRepository; - - private readonly IGuidGenerator _guidGenerator; - - public TransmissionModeCfgDataSeederContributor( - IRepository repository, - IGuidGenerator guidGenerator - ) - { - _transmissionModeCfgRepository = repository; - _guidGenerator = guidGenerator; - } - - public async Task SeedAsync(DataSeedContext context) - { - string jsonStr = @" -{ - '接收目录': '.\JIS_RCV', - '工作目录': '.\JIS_WORK', - '备份目录': '.\JIS_BAK', - '错误目录': '.\JIS_ERR', -} -"; - if (await _transmissionModeCfgRepository.GetCountAsync() <= 0) - { - await _transmissionModeCfgRepository.InsertAsync( - new TransmissionModeCfg(_guidGenerator.Create(), TransmissionModeTypeEnum.PathRead, jsonStr, true), - autoSave: true - ); ; - } - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/NewJitConsts.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/NewJitConsts.cs deleted file mode 100644 index b831f96f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/NewJitConsts.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace WY.NewJit -{ - public static class NewJitConsts - { - public const string DbTablePrefix = "Fis"; - - public const string DbSchema = null; - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/NewJitDomainModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/NewJitDomainModule.cs deleted file mode 100644 index 926ac278..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/NewJitDomainModule.cs +++ /dev/null @@ -1,46 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.DependencyInjection.Extensions; -using WY.NewJit.MultiTenancy; -using Volo.Abp.AuditLogging; -using Volo.Abp.BackgroundJobs; -using Volo.Abp.Emailing; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.IdentityServer; -using Volo.Abp.Modularity; -using Volo.Abp.MultiTenancy; -using Volo.Abp.PermissionManagement.Identity; -using Volo.Abp.PermissionManagement.IdentityServer; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; - -namespace WY.NewJit -{ - [DependsOn( - typeof(NewJitDomainSharedModule), - typeof(AbpAuditLoggingDomainModule), - typeof(AbpBackgroundJobsDomainModule), - typeof(AbpFeatureManagementDomainModule), - typeof(AbpIdentityDomainModule), - typeof(AbpPermissionManagementDomainIdentityModule), - typeof(AbpIdentityServerDomainModule), - typeof(AbpPermissionManagementDomainIdentityServerModule), - typeof(AbpSettingManagementDomainModule), - typeof(AbpTenantManagementDomainModule), - typeof(AbpEmailingModule) - )] - public class NewJitDomainModule : AbpModule - { - public override void ConfigureServices(ServiceConfigurationContext context) - { - Configure(options => - { - options.IsEnabled = MultiTenancyConsts.IsEnabled; - }); - -#if DEBUG - context.Services.Replace(ServiceDescriptor.Singleton()); -#endif - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Properties/AssemblyInfo.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Properties/AssemblyInfo.cs deleted file mode 100644 index 5f8b5106..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,3 +0,0 @@ -using System.Runtime.CompilerServices; -[assembly:InternalsVisibleToAttribute("WY.NewJit.Domain.Tests")] -[assembly:InternalsVisibleToAttribute("WY.NewJit.TestBase")] diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Settings/NewJitSettingDefinitionProvider.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Settings/NewJitSettingDefinitionProvider.cs deleted file mode 100644 index 041f98f3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Settings/NewJitSettingDefinitionProvider.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Volo.Abp.Settings; - -namespace WY.NewJit.Settings -{ - public class NewJitSettingDefinitionProvider : SettingDefinitionProvider - { - public override void Define(ISettingDefinitionContext context) - { - //Define your own settings here. Example: - //context.Add(new SettingDefinition(NewJitSettings.MySetting1)); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Settings/NewJitSettings.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Settings/NewJitSettings.cs deleted file mode 100644 index b6ade0f1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Settings/NewJitSettings.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace WY.NewJit.Settings -{ - public static class NewJitSettings - { - private const string Prefix = "NewJit"; - - //Add your own setting names here. Example: - //public const string MySetting1 = Prefix + ".MySetting1"; - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/SettleAccountFIS/FISVersionEto.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/SettleAccountFIS/FISVersionEto.cs deleted file mode 100644 index d41214d8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/SettleAccountFIS/FISVersionEto.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp; -using Volo.Abp.Domain.Entities.Auditing; -using Volo.Abp.EventBus; -using Volo.Abp.Guids; - - -namespace WY.NewJit.SettleAccountFis -{ - - [EventName("WY.NewJit.SettleAccountFis.FISVersion")] - public class FISVersionEto - { - - public string Year { get; set; } - /// - /// 期间 - /// - public string Period { get; set; } - /// - /// 版本号 - /// - public string Version { get; set; } - - /// - /// 客户号 - /// - public string CustomerCode { get; set; } - - - public string Factory { get; set; } - - /// - /// 车型 - /// - public virtual string Model { get; set; } - - /// - /// 开始时间 - /// - public string BeginDate { get; set; } - - /// - /// 结束时间 - /// - public string EndDate { get; set; } - - - public List Details { get; set; } - - public FISVersionEto() - { } - - public FISVersionEto( - Guid id, string year, string period, string version, string customerCode, string factory, string model, string beginDate, string endDate) - - { - Year = year; - Period = period; - Version = version; - CustomerCode = customerCode; - Factory = factory; - Model = model; - BeginDate = beginDate; - EndDate = endDate; - Details = new List(); - } - - - } - - [EventName("WY.NewJit.SettleAccountFis.FISVersion2222")] - public class FISVersionEto2222 - { - public string Year { get; set; } - - /// - /// 开始时间 - /// - public DateTime BeginDate { get; set; } - - - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/SettleAccountFIS/FIS_TH.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/SettleAccountFIS/FIS_TH.cs deleted file mode 100644 index 1c14875c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/SettleAccountFIS/FIS_TH.cs +++ /dev/null @@ -1,162 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.SettleAccountFis -{ - public class FIS_TH - { - - public Guid ParentId { get; set; } - - /// - /// 开始时间 - /// - public string BeginTime { set; get; } - - /// - /// 结束时间 - /// - public string EndTime { set; get; } - - /// - ///年度 - /// - public string Year { get; set; } - - - /// - /// 期间 - /// - public string Period { set; get; } - - /// - /// 年度+月 202106 - /// - public string Version { set; get; } - - /// - /// 订单编号 - /// - public string OrderBillNum { set; get; } - - /// - /// KENEN号 - /// - public string KENNCode { set; get; } - - /// - /// 发运零件号 - /// - public string MaterialCode { set; get; } - - /// - /// 车型(产线) - /// - - public string Model { get; set; } - - /// - /// 其他字段 - /// - public string Extend1 { set; get; } - - /// - /// 底盘号 - /// - public string ChassisNumber { set; get; } - - /// - /// 用量 - /// - public decimal Qty { set; get; } - - - /// - /// CP5时间 - /// - public string CP5Time { set; get; } - - - /// - /// 顺序号 - /// - public string SequenceNumber { set; get; } - - /// - /// 底盘号2 - /// - public string ChassisNumber2 { set; get; } - - - - /// - /// CP7时间 - /// - public string CP7Time { set; get; } - - - /// - /// 结算数量 - /// - public decimal SettledQty { get; set; } - - /// - /// 状态 - /// - public int State { set; get; } - /// - /// Erp总成号 - /// - public string ErpMaterialCode { set; get; } - - - public void SetValue(Guid guid, string year, string peroid, string version, Guid parentId, string erpMatialCode) - { - Period = peroid; - Year = year; - - Version = version; - - ParentId = parentId; - ErpMaterialCode = erpMatialCode; - } - - public void SetState(int p_state) - { - State = p_state; - } - - - public void SetModel(string model) { Model = model; } - public FIS_TH() { } - public FIS_TH( - Guid id, string year, string period, string extend1, string chassisNumber, decimal qty, string cp5Time, string sequenceNumber, string orderBillNum, string materialCode, string fisyear, Guid parentId, string kENNCode, string chassisNumber2, int state, string cp7Time, decimal settledQty, string version, string creationTime, Guid creatorId, string beginTime, string endTime, string erpMatialCode, string model) - - { - Year = year; - Period = period; - OrderBillNum = orderBillNum; - MaterialCode = materialCode; - Extend1 = extend1; - ChassisNumber = chassisNumber; - Qty = qty; - CP5Time = cp5Time; - SequenceNumber = sequenceNumber; - ParentId = parentId; - KENNCode = kENNCode; - ChassisNumber2 = chassisNumber2; - State = state; - CP7Time = cp7Time; - SettledQty = settledQty; - Version = version; - BeginTime = beginTime; - EndTime = endTime; - ErpMaterialCode = erpMatialCode; - Model = model; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/TianHe/NotMatchTempBill.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/TianHe/NotMatchTempBill.cs deleted file mode 100644 index d19198db..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/TianHe/NotMatchTempBill.cs +++ /dev/null @@ -1,25 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities; - -namespace WY.NewJit.TianHe -{ - public class NotMatchTempBill : AggregateRoot - { - public virtual Guid NotMatchBillId { get; protected set; } - - public NotMatchTempBill() - { - - } - - public NotMatchTempBill(Guid id, Guid notMatchBillId) - :base(id) - { - NotMatchBillId = notMatchBillId; - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/TianHe/productdata_A.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/TianHe/productdata_A.cs deleted file mode 100644 index 8deeee34..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/TianHe/productdata_A.cs +++ /dev/null @@ -1,84 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.Domain.Entities; -using Volo.Abp.Domain.Entities.Auditing; - -namespace WY.NewJit.TianHe -{ - /// - /// 涂装单据 - /// - [Keyless] - public class productdata_A : IAggregateRoot - { - /// - /// 大众顺序号 - /// - public virtual string cSEQNo { get; protected set; } - - /// - /// 底盘号 - /// - public virtual string cVinCode { get; protected set; } - - /// - /// 订单号 - /// - public virtual string cCarNo { get; protected set; } - - /// - /// 零件代码(结算号) - /// - public virtual string cPartNo { get; protected set; } - - /// - /// 零件数量 - /// - public virtual int? nPartNum { get; protected set; } - public virtual int? iLastPartNum { get; protected set; } - - /// - /// 上线时间 - /// - public virtual DateTime? dBegin { get; protected set; } - public virtual string cSerial { get; protected set; } - public virtual string cFileName { get; protected set; } - public virtual string cIsNew { get; protected set; } - public virtual string cRemark { get; protected set; } - public virtual string cOpertime { get; protected set; } - - public object[] GetKeys() - { - throw new NotImplementedException(); - } - - protected productdata_A() - { - //此构造函数是提供给ORM用来从数据库中获取实体. - //无需初始化子集合 - //因为它会被来自数据库的值覆盖.可能不适用于私有构造函数. - } - - public productdata_A(string cSEQNo, string cVinCode, string cCarNo, string cPartNo, int? nPartNum, int? iLastPartNum, DateTime? dBegin, string cSerial, string cFileName, string cIsNew, string cRemark, string cOpertime) - { - this.cSEQNo = cSEQNo; - this.cVinCode = cVinCode; - this.cCarNo = cCarNo; - this.cPartNo = cPartNo; - this.nPartNum = nPartNum; - this.iLastPartNum = iLastPartNum; - this.dBegin = dBegin; - this.cSerial = cSerial; - this.cFileName = cFileName; - this.cIsNew = cIsNew; - this.cRemark = cRemark; - this.cOpertime = cOpertime; - } - } - -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Users/AppUser.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Users/AppUser.cs deleted file mode 100644 index f8de5177..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/Users/AppUser.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using Volo.Abp.Domain.Entities.Auditing; -using Volo.Abp.Users; - -namespace WY.NewJit.Users -{ - /* This entity shares the same table/collection ("AbpUsers" by default) with the - * IdentityUser entity of the Identity module. - * - * - You can define your custom properties into this class. - * - You never create or delete this entity, because it is Identity module's job. - * - You can query users from database with this entity. - * - You can update values of your custom properties. - */ - public class AppUser : FullAuditedAggregateRoot, IUser - { - #region Base properties - - /* These properties are shared with the IdentityUser entity of the Identity module. - * Do not change these properties through this class. Instead, use Identity module - * services (like IdentityUserManager) to change them. - * So, this properties are designed as read only! - */ - - public virtual Guid? TenantId { get; private set; } - - public virtual string UserName { get; private set; } - - public virtual string Name { get; private set; } - - public virtual string Surname { get; private set; } - - public virtual string Email { get; private set; } - - public virtual bool EmailConfirmed { get; private set; } - - public virtual string PhoneNumber { get; private set; } - - public virtual bool PhoneNumberConfirmed { get; private set; } - - #endregion - - /* Add your own properties here. Example: - * - * public string MyProperty { get; set; } - * - * If you add a property and using the EF Core, remember these; - * - * 1. Update NewJitDbContext.OnModelCreating - * to configure the mapping for your new property - * 2. Update NewJitEfCoreEntityExtensionMappings to extend the IdentityUser entity - * and add your new property to the migration. - * 3. Use the Add-Migration to add a new database migration. - * 4. Run the .DbMigrator project (or use the Update-Database command) to apply - * schema change to the database. - */ - - private AppUser() - { - - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/WY.NewJit.Domain.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/WY.NewJit.Domain.csproj deleted file mode 100644 index 7fda79fe..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Domain/WY.NewJit.Domain.csproj +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - net5.0 - WY.NewJit - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/EntityFrameworkCoreNewJitDbSchemaMigrator.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/EntityFrameworkCoreNewJitDbSchemaMigrator.cs deleted file mode 100644 index a4742756..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/EntityFrameworkCoreNewJitDbSchemaMigrator.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System; -using System.Threading.Tasks; -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.DependencyInjection; -using WY.NewJit.Data; -using Volo.Abp.DependencyInjection; - -namespace WY.NewJit.EntityFrameworkCore -{ - public class EntityFrameworkCoreNewJitDbSchemaMigrator - : INewJitDbSchemaMigrator, ITransientDependency - { - private readonly IServiceProvider _serviceProvider; - - public EntityFrameworkCoreNewJitDbSchemaMigrator( - IServiceProvider serviceProvider) - { - _serviceProvider = serviceProvider; - } - - public async Task MigrateAsync() - { - /* We intentionally resolving the NewJitMigrationsDbContext - * from IServiceProvider (instead of directly injecting it) - * to properly get the connection string of the current tenant in the - * current scope. - */ - - await _serviceProvider - .GetRequiredService() - .Database - .MigrateAsync(); - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitEntityFrameworkCoreDbMigrationsModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitEntityFrameworkCoreDbMigrationsModule.cs deleted file mode 100644 index 96232bf5..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitEntityFrameworkCoreDbMigrationsModule.cs +++ /dev/null @@ -1,16 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.Modularity; - -namespace WY.NewJit.EntityFrameworkCore -{ - [DependsOn( - typeof(NewJitEntityFrameworkCoreModule) - )] - public class NewJitEntityFrameworkCoreDbMigrationsModule : AbpModule - { - public override void ConfigureServices(ServiceConfigurationContext context) - { - context.Services.AddAbpDbContext(); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContext.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContext.cs deleted file mode 100644 index 3db57b3c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContext.cs +++ /dev/null @@ -1,48 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Volo.Abp.AuditLogging.EntityFrameworkCore; -using Volo.Abp.BackgroundJobs.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.FeatureManagement.EntityFrameworkCore; -using Volo.Abp.Identity; -using Volo.Abp.Identity.EntityFrameworkCore; -using Volo.Abp.IdentityServer.EntityFrameworkCore; -using Volo.Abp.PermissionManagement.EntityFrameworkCore; -using Volo.Abp.SettingManagement.EntityFrameworkCore; -using Volo.Abp.TenantManagement.EntityFrameworkCore; - -namespace WY.NewJit.EntityFrameworkCore -{ - /* This DbContext is only used for database migrations. - * It is not used on runtime. See NewJitDbContext for the runtime DbContext. - * It is a unified model that includes configuration for - * all used modules and your application. - */ - public class NewJitMigrationsDbContext : AbpDbContext - { - public NewJitMigrationsDbContext(DbContextOptions options) - : base(options) - { - - } - - protected override void OnModelCreating(ModelBuilder builder) - { - base.OnModelCreating(builder); - - /* Include modules to your migration db context */ - - builder.ConfigurePermissionManagement(); - builder.ConfigureSettingManagement(); - builder.ConfigureBackgroundJobs(); - builder.ConfigureAuditLogging(); - builder.ConfigureIdentity(); - builder.ConfigureIdentityServer(); - builder.ConfigureFeatureManagement(); - builder.ConfigureTenantManagement(); - - /* Configure your own tables/entities inside the ConfigureNewJit method */ - - builder.ConfigureNewJit();//??【6】 - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContextFactory.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContextFactory.cs deleted file mode 100644 index 3139f62b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/EntityFrameworkCore/NewJitMigrationsDbContextFactory.cs +++ /dev/null @@ -1,33 +0,0 @@ -using System.IO; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Design; -using Microsoft.Extensions.Configuration; - -namespace WY.NewJit.EntityFrameworkCore -{ - /* This class is needed for EF Core console commands - * (like Add-Migration and Update-Database commands) */ - public class NewJitMigrationsDbContextFactory : IDesignTimeDbContextFactory - { - public NewJitMigrationsDbContext CreateDbContext(string[] args) - { - NewJitEfCoreEntityExtensionMappings.Configure(); - - var configuration = BuildConfiguration(); - - var builder = new DbContextOptionsBuilder() - .UseSqlServer(configuration.GetConnectionString("Default")); - - return new NewJitMigrationsDbContext(builder.Options); - } - - private static IConfigurationRoot BuildConfiguration() - { - var builder = new ConfigurationBuilder() - .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../WY.NewJit.DbMigrator/")) - .AddJsonFile("appsettings.json", optional: false); - - return builder.Build(); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.Designer.cs deleted file mode 100644 index 36aa8634..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.Designer.cs +++ /dev/null @@ -1,3966 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20210901012154_Created_NewJit_Entity")] - partial class Created_NewJit_Entity - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.9") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.cs deleted file mode 100644 index fc83d491..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210901012154_Created_NewJit_Entity.cs +++ /dev/null @@ -1,2185 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "AbpAuditLogs", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - ApplicationName = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), - UserId = table.Column(type: "uniqueidentifier", nullable: true), - UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - TenantName = table.Column(type: "nvarchar(max)", nullable: true), - ImpersonatorUserId = table.Column(type: "uniqueidentifier", nullable: true), - ImpersonatorTenantId = table.Column(type: "uniqueidentifier", nullable: true), - ExecutionTime = table.Column(type: "datetime2", nullable: false), - ExecutionDuration = table.Column(type: "int", nullable: false), - ClientIpAddress = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ClientName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - CorrelationId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - BrowserInfo = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - HttpMethod = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true), - Url = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - Exceptions = table.Column(type: "nvarchar(4000)", maxLength: 4000, nullable: true), - Comments = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - HttpStatusCode = table.Column(type: "int", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpAuditLogs", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpBackgroundJobs", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - JobName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - JobArgs = table.Column(type: "nvarchar(max)", maxLength: 1048576, nullable: false), - TryCount = table.Column(type: "smallint", nullable: false, defaultValue: (short)0), - CreationTime = table.Column(type: "datetime2", nullable: false), - NextTryTime = table.Column(type: "datetime2", nullable: false), - LastTryTime = table.Column(type: "datetime2", nullable: true), - IsAbandoned = table.Column(type: "bit", nullable: false, defaultValue: false), - Priority = table.Column(type: "tinyint", nullable: false, defaultValue: (byte)15), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpBackgroundJobs", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpClaimTypes", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - Required = table.Column(type: "bit", nullable: false), - IsStatic = table.Column(type: "bit", nullable: false), - Regex = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - RegexDescription = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - Description = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - ValueType = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpClaimTypes", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpFeatureValues", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - Value = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpFeatureValues", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpLinkUsers", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - SourceUserId = table.Column(type: "uniqueidentifier", nullable: false), - SourceTenantId = table.Column(type: "uniqueidentifier", nullable: true), - TargetUserId = table.Column(type: "uniqueidentifier", nullable: false), - TargetTenantId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpLinkUsers", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpOrganizationUnits", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ParentId = table.Column(type: "uniqueidentifier", nullable: true), - Code = table.Column(type: "nvarchar(95)", maxLength: 95, nullable: false), - DisplayName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpOrganizationUnits", x => x.Id); - table.ForeignKey( - name: "FK_AbpOrganizationUnits_AbpOrganizationUnits_ParentId", - column: x => x.ParentId, - principalTable: "AbpOrganizationUnits", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "AbpPermissionGrants", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpPermissionGrants", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpRoles", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - Name = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - NormalizedName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - IsDefault = table.Column(type: "bit", nullable: false), - IsStatic = table.Column(type: "bit", nullable: false), - IsPublic = table.Column(type: "bit", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpRoles", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpSecurityLogs", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ApplicationName = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), - Identity = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), - Action = table.Column(type: "nvarchar(96)", maxLength: 96, nullable: true), - UserId = table.Column(type: "uniqueidentifier", nullable: true), - UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - TenantName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - CorrelationId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ClientIpAddress = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - BrowserInfo = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpSecurityLogs", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpSettings", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - Value = table.Column(type: "nvarchar(2048)", maxLength: 2048, nullable: false), - ProviderName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - ProviderKey = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpSettings", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpTenants", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpTenants", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "AbpUsers", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - UserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - NormalizedUserName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - Surname = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), - Email = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - NormalizedEmail = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - EmailConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), - PasswordHash = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - SecurityStamp = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - IsExternal = table.Column(type: "bit", nullable: false, defaultValue: false), - PhoneNumber = table.Column(type: "nvarchar(16)", maxLength: 16, nullable: true), - PhoneNumberConfirmed = table.Column(type: "bit", nullable: false, defaultValue: false), - TwoFactorEnabled = table.Column(type: "bit", nullable: false, defaultValue: false), - LockoutEnd = table.Column(type: "datetimeoffset", nullable: true), - LockoutEnabled = table.Column(type: "bit", nullable: false, defaultValue: false), - AccessFailedCount = table.Column(type: "int", nullable: false, defaultValue: 0), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUsers", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisAssemblyCfgErp", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - ErpAssemblyCode = table.Column(type: "nvarchar(max)", nullable: true), - ErpAssemblyName = table.Column(type: "nvarchar(max)", nullable: true), - ErpAssemblyVersion = table.Column(type: "int", nullable: false), - PreviousVersionId = table.Column(type: "uniqueidentifier", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisAssemblyCfgErp", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisAssemblyCfgVehicle", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - AssemblyName = table.Column(type: "nvarchar(max)", nullable: true), - VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - IsActivate = table.Column(type: "bit", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisAssemblyCfgVehicle", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisBillM100", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), - SerialNum = table.Column(type: "int", nullable: true), - HostSN = table.Column(type: "int", nullable: true), - KNR = table.Column(type: "nvarchar(max)", nullable: true), - VIN = table.Column(type: "nvarchar(max)", nullable: true), - AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), - OnlineTime = table.Column(type: "datetime2", nullable: true), - VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), - Version = table.Column(type: "nvarchar(max)", nullable: true), - ReceiveTime = table.Column(type: "datetime2", nullable: true), - BillStatus = table.Column(type: "int", nullable: false), - OperationType = table.Column(type: "int", nullable: false), - Operator = table.Column(type: "nvarchar(max)", nullable: true), - OperationTime = table.Column(type: "datetime2", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisBillM100", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisBillM110", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), - SerialNum = table.Column(type: "int", nullable: true), - HostSN = table.Column(type: "int", nullable: true), - KNR = table.Column(type: "nvarchar(max)", nullable: true), - VIN = table.Column(type: "nvarchar(max)", nullable: true), - AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), - OnlineTime = table.Column(type: "datetime2", nullable: true), - VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), - Version = table.Column(type: "nvarchar(max)", nullable: true), - ReceiveTime = table.Column(type: "datetime2", nullable: true), - BillStatus = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisBillM110", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisBillR100", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), - HostSN = table.Column(type: "int", nullable: true), - KNR = table.Column(type: "nvarchar(max)", nullable: true), - AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), - OnlineTime = table.Column(type: "datetime2", nullable: true), - ReceiveTime = table.Column(type: "datetime2", nullable: true), - VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), - Version = table.Column(type: "nvarchar(max)", nullable: true), - BillStatus = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisBillR100", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisBooks", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), - Type = table.Column(type: "int", nullable: false), - PublishDate = table.Column(type: "datetime2", nullable: false), - Price = table.Column(type: "real", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisBooks", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisDicItem", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - DicTypeCode = table.Column(type: "nvarchar(max)", nullable: true), - DicItemCode = table.Column(type: "nvarchar(max)", nullable: true), - DicItemName = table.Column(type: "nvarchar(max)", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisDicItem", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisDicType", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - DicTypeCode = table.Column(type: "nvarchar(max)", nullable: true), - DicTypeName = table.Column(type: "nvarchar(max)", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisDicType", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisExcludePartCfg", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - ExcludeReason = table.Column(type: "nvarchar(max)", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisExcludePartCfg", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisLogRemind", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - LogType = table.Column(type: "int", nullable: false), - LogTitle = table.Column(type: "nvarchar(max)", nullable: true), - LogDesc = table.Column(type: "nvarchar(max)", nullable: true), - SeriousLevel = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisLogRemind", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisMessageReceive", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - MessageFileName = table.Column(type: "nvarchar(max)", nullable: true), - MessageContent = table.Column(type: "nvarchar(max)", nullable: true), - ReceiveStatus = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisMessageReceive", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisMessageVersionCfg", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Version = table.Column(type: "nvarchar(max)", nullable: true), - FileNameKeyword = table.Column(type: "nvarchar(max)", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisMessageVersionCfg", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisPartCfg", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - PartName = table.Column(type: "nvarchar(max)", nullable: true), - PartType = table.Column(type: "nvarchar(max)", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisPartCfg", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisRepeatM100", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), - SerialNum = table.Column(type: "int", nullable: true), - HostSN = table.Column(type: "int", nullable: true), - KNR = table.Column(type: "nvarchar(max)", nullable: true), - VIN = table.Column(type: "nvarchar(max)", nullable: true), - AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), - OnlineTime = table.Column(type: "datetime2", nullable: true), - ReceiveTime = table.Column(type: "datetime2", nullable: true), - VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), - Version = table.Column(type: "nvarchar(max)", nullable: true), - BillStatus = table.Column(type: "int", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisRepeatM100", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisRepeatM110", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), - HostSN = table.Column(type: "int", nullable: true), - KNR = table.Column(type: "nvarchar(max)", nullable: true), - VIN = table.Column(type: "nvarchar(max)", nullable: true), - OnlineTime = table.Column(type: "datetime2", nullable: true), - ReceiveTime = table.Column(type: "datetime2", nullable: true), - VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), - Version = table.Column(type: "nvarchar(max)", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisRepeatM110", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisRepeatR100", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - MessageFileReceiveID = table.Column(type: "uniqueidentifier", nullable: false), - HostSN = table.Column(type: "int", nullable: true), - KNR = table.Column(type: "nvarchar(max)", nullable: true), - AssemblyID = table.Column(type: "uniqueidentifier", nullable: true), - OnlineTime = table.Column(type: "datetime2", nullable: true), - ReceiveTime = table.Column(type: "datetime2", nullable: true), - VehicleModelCode = table.Column(type: "nvarchar(max)", nullable: true), - Version = table.Column(type: "nvarchar(max)", nullable: true), - BillStatus = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisRepeatR100", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisTransmissionModeCfg", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TransmissionModeType = table.Column(type: "int", nullable: false), - TransmissionModeContent = table.Column(type: "nvarchar(max)", nullable: true), - IsApply = table.Column(type: "bit", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisTransmissionModeCfg", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "FisUnknownAssembly", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - BillID = table.Column(type: "uniqueidentifier", nullable: false), - ScanPoint = table.Column(type: "nvarchar(max)", nullable: true), - PartNum = table.Column(type: "float", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisUnknownAssembly", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResources", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - DisplayName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - Enabled = table.Column(type: "bit", nullable: false), - AllowedAccessTokenSigningAlgorithms = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - ShowInDiscoveryDocument = table.Column(type: "bit", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResources", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiScopes", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Enabled = table.Column(type: "bit", nullable: false), - Name = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - DisplayName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - Required = table.Column(type: "bit", nullable: false), - Emphasize = table.Column(type: "bit", nullable: false), - ShowInDiscoveryDocument = table.Column(type: "bit", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiScopes", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClients", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - ClientId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - ClientName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - ClientUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - LogoUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - Enabled = table.Column(type: "bit", nullable: false), - ProtocolType = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - RequireClientSecret = table.Column(type: "bit", nullable: false), - RequireConsent = table.Column(type: "bit", nullable: false), - AllowRememberConsent = table.Column(type: "bit", nullable: false), - AlwaysIncludeUserClaimsInIdToken = table.Column(type: "bit", nullable: false), - RequirePkce = table.Column(type: "bit", nullable: false), - AllowPlainTextPkce = table.Column(type: "bit", nullable: false), - RequireRequestObject = table.Column(type: "bit", nullable: false), - AllowAccessTokensViaBrowser = table.Column(type: "bit", nullable: false), - FrontChannelLogoutUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - FrontChannelLogoutSessionRequired = table.Column(type: "bit", nullable: false), - BackChannelLogoutUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - BackChannelLogoutSessionRequired = table.Column(type: "bit", nullable: false), - AllowOfflineAccess = table.Column(type: "bit", nullable: false), - IdentityTokenLifetime = table.Column(type: "int", nullable: false), - AllowedIdentityTokenSigningAlgorithms = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - AccessTokenLifetime = table.Column(type: "int", nullable: false), - AuthorizationCodeLifetime = table.Column(type: "int", nullable: false), - ConsentLifetime = table.Column(type: "int", nullable: true), - AbsoluteRefreshTokenLifetime = table.Column(type: "int", nullable: false), - SlidingRefreshTokenLifetime = table.Column(type: "int", nullable: false), - RefreshTokenUsage = table.Column(type: "int", nullable: false), - UpdateAccessTokenClaimsOnRefresh = table.Column(type: "bit", nullable: false), - RefreshTokenExpiration = table.Column(type: "int", nullable: false), - AccessTokenType = table.Column(type: "int", nullable: false), - EnableLocalLogin = table.Column(type: "bit", nullable: false), - IncludeJwtId = table.Column(type: "bit", nullable: false), - AlwaysSendClientClaims = table.Column(type: "bit", nullable: false), - ClientClaimsPrefix = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - PairWiseSubjectSalt = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - UserSsoLifetime = table.Column(type: "int", nullable: true), - UserCodeType = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - DeviceCodeLifetime = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClients", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerDeviceFlowCodes", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - DeviceCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - UserCode = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - SubjectId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - SessionId = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - ClientId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - Description = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Expiration = table.Column(type: "datetime2", nullable: false), - Data = table.Column(type: "nvarchar(max)", maxLength: 50000, nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerDeviceFlowCodes", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerIdentityResources", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - DisplayName = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - Enabled = table.Column(type: "bit", nullable: false), - Required = table.Column(type: "bit", nullable: false), - Emphasize = table.Column(type: "bit", nullable: false), - ShowInDiscoveryDocument = table.Column(type: "bit", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerIdentityResources", x => x.Id); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerPersistedGrants", - columns: table => new - { - Key = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), - SubjectId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - SessionId = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: true), - ClientId = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - Description = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - Expiration = table.Column(type: "datetime2", nullable: true), - ConsumedTime = table.Column(type: "datetime2", nullable: true), - Data = table.Column(type: "nvarchar(max)", maxLength: 50000, nullable: false), - Id = table.Column(type: "uniqueidentifier", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerPersistedGrants", x => x.Key); - }); - - migrationBuilder.CreateTable( - name: "AbpAuditLogActions", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - AuditLogId = table.Column(type: "uniqueidentifier", nullable: false), - ServiceName = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), - MethodName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true), - Parameters = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - ExecutionTime = table.Column(type: "datetime2", nullable: false), - ExecutionDuration = table.Column(type: "int", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpAuditLogActions", x => x.Id); - table.ForeignKey( - name: "FK_AbpAuditLogActions_AbpAuditLogs_AuditLogId", - column: x => x.AuditLogId, - principalTable: "AbpAuditLogs", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpEntityChanges", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - AuditLogId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ChangeTime = table.Column(type: "datetime2", nullable: false), - ChangeType = table.Column(type: "tinyint", nullable: false), - EntityTenantId = table.Column(type: "uniqueidentifier", nullable: true), - EntityId = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - EntityTypeFullName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpEntityChanges", x => x.Id); - table.ForeignKey( - name: "FK_AbpEntityChanges_AbpAuditLogs_AuditLogId", - column: x => x.AuditLogId, - principalTable: "AbpAuditLogs", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpOrganizationUnitRoles", - columns: table => new - { - RoleId = table.Column(type: "uniqueidentifier", nullable: false), - OrganizationUnitId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpOrganizationUnitRoles", x => new { x.OrganizationUnitId, x.RoleId }); - table.ForeignKey( - name: "FK_AbpOrganizationUnitRoles_AbpOrganizationUnits_OrganizationUnitId", - column: x => x.OrganizationUnitId, - principalTable: "AbpOrganizationUnits", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_AbpOrganizationUnitRoles_AbpRoles_RoleId", - column: x => x.RoleId, - principalTable: "AbpRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpRoleClaims", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - RoleId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ClaimType = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - ClaimValue = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpRoleClaims", x => x.Id); - table.ForeignKey( - name: "FK_AbpRoleClaims_AbpRoles_RoleId", - column: x => x.RoleId, - principalTable: "AbpRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpTenantConnectionStrings", - columns: table => new - { - TenantId = table.Column(type: "uniqueidentifier", nullable: false), - Name = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - Value = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpTenantConnectionStrings", x => new { x.TenantId, x.Name }); - table.ForeignKey( - name: "FK_AbpTenantConnectionStrings_AbpTenants_TenantId", - column: x => x.TenantId, - principalTable: "AbpTenants", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserClaims", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - UserId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ClaimType = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: false), - ClaimValue = table.Column(type: "nvarchar(1024)", maxLength: 1024, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserClaims", x => x.Id); - table.ForeignKey( - name: "FK_AbpUserClaims_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserLogins", - columns: table => new - { - UserId = table.Column(type: "uniqueidentifier", nullable: false), - LoginProvider = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - ProviderKey = table.Column(type: "nvarchar(196)", maxLength: 196, nullable: false), - ProviderDisplayName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserLogins", x => new { x.UserId, x.LoginProvider }); - table.ForeignKey( - name: "FK_AbpUserLogins_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserOrganizationUnits", - columns: table => new - { - UserId = table.Column(type: "uniqueidentifier", nullable: false), - OrganizationUnitId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserOrganizationUnits", x => new { x.OrganizationUnitId, x.UserId }); - table.ForeignKey( - name: "FK_AbpUserOrganizationUnits_AbpOrganizationUnits_OrganizationUnitId", - column: x => x.OrganizationUnitId, - principalTable: "AbpOrganizationUnits", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_AbpUserOrganizationUnits_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserRoles", - columns: table => new - { - UserId = table.Column(type: "uniqueidentifier", nullable: false), - RoleId = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserRoles", x => new { x.UserId, x.RoleId }); - table.ForeignKey( - name: "FK_AbpUserRoles_AbpRoles_RoleId", - column: x => x.RoleId, - principalTable: "AbpRoles", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_AbpUserRoles_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpUserTokens", - columns: table => new - { - UserId = table.Column(type: "uniqueidentifier", nullable: false), - LoginProvider = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false), - Name = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - Value = table.Column(type: "nvarchar(max)", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpUserTokens", x => new { x.UserId, x.LoginProvider, x.Name }); - table.ForeignKey( - name: "FK_AbpUserTokens_AbpUsers_UserId", - column: x => x.UserId, - principalTable: "AbpUsers", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "FisAssemblyCfgPart", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - PartNum = table.Column(type: "float", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - IsKey = table.Column(type: "bit", nullable: false), - AssemblyCfgErpId = table.Column(type: "uniqueidentifier", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisAssemblyCfgPart", x => x.Id); - table.ForeignKey( - name: "FK_FisAssemblyCfgPart_FisAssemblyCfgErp_AssemblyCfgErpId", - column: x => x.AssemblyCfgErpId, - principalTable: "FisAssemblyCfgErp", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FisAssemblyCfgVehicleChild", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - ErpAssemblyId = table.Column(type: "uniqueidentifier", nullable: false), - AssemblyCfgVehicleId = table.Column(type: "uniqueidentifier", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisAssemblyCfgVehicleChild", x => x.Id); - table.ForeignKey( - name: "FK_FisAssemblyCfgVehicleChild_FisAssemblyCfgVehicle_AssemblyCfgVehicleId", - column: x => x.AssemblyCfgVehicleId, - principalTable: "FisAssemblyCfgVehicle", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FisBillM100Part", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - PartNum = table.Column(type: "float", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - BillM100Id = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisBillM100Part", x => x.Id); - table.ForeignKey( - name: "FK_FisBillM100Part_FisBillM100_BillM100Id", - column: x => x.BillM100Id, - principalTable: "FisBillM100", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FisBillM110Part", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - PartNum = table.Column(type: "float", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - BillM110Id = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisBillM110Part", x => x.Id); - table.ForeignKey( - name: "FK_FisBillM110Part_FisBillM110_BillM110Id", - column: x => x.BillM110Id, - principalTable: "FisBillM110", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FisBillR100Part", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - PartNum = table.Column(type: "float", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - BillR100Id = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisBillR100Part", x => x.Id); - table.ForeignKey( - name: "FK_FisBillR100Part_FisBillR100_BillR100Id", - column: x => x.BillR100Id, - principalTable: "FisBillR100", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FisBillSortCfg", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - BillName = table.Column(type: "nvarchar(max)", nullable: true), - FileContentKeyword = table.Column(type: "nvarchar(max)", nullable: true), - MessageVersionCfgId = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisBillSortCfg", x => x.Id); - table.ForeignKey( - name: "FK_FisBillSortCfg_FisMessageVersionCfg_MessageVersionCfgId", - column: x => x.MessageVersionCfgId, - principalTable: "FisMessageVersionCfg", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FisRepeatM100Part", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - PartNum = table.Column(type: "float", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - RepeatM100Id = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisRepeatM100Part", x => x.Id); - table.ForeignKey( - name: "FK_FisRepeatM100Part_FisRepeatM100_RepeatM100Id", - column: x => x.RepeatM100Id, - principalTable: "FisRepeatM100", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FisRepeatM110Part", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - PartNum = table.Column(type: "float", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - RepeatM110Id = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisRepeatM110Part", x => x.Id); - table.ForeignKey( - name: "FK_FisRepeatM110Part_FisRepeatM110_RepeatM110Id", - column: x => x.RepeatM110Id, - principalTable: "FisRepeatM110", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FisRepeatR100Part", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - PartNum = table.Column(type: "float", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - RepeatR100Id = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisRepeatR100Part", x => x.Id); - table.ForeignKey( - name: "FK_FisRepeatR100Part_FisRepeatR100_RepeatR100Id", - column: x => x.RepeatR100Id, - principalTable: "FisRepeatR100", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "FisUnknownAssemblyPart", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - PartCode = table.Column(type: "nvarchar(max)", nullable: true), - PartNum = table.Column(type: "float", nullable: true), - Description = table.Column(type: "nvarchar(max)", nullable: true), - UnknownAssemblyId = table.Column(type: "uniqueidentifier", nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisUnknownAssemblyPart", x => x.Id); - table.ForeignKey( - name: "FK_FisUnknownAssemblyPart_FisUnknownAssembly_UnknownAssemblyId", - column: x => x.UnknownAssemblyId, - principalTable: "FisUnknownAssembly", - principalColumn: "Id", - onDelete: ReferentialAction.Restrict); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResourceClaims", - columns: table => new - { - Type = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResourceClaims", x => new { x.ApiResourceId, x.Type }); - table.ForeignKey( - name: "FK_IdentityServerApiResourceClaims_IdentityServerApiResources_ApiResourceId", - column: x => x.ApiResourceId, - principalTable: "IdentityServerApiResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResourceProperties", - columns: table => new - { - ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false), - Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResourceProperties", x => new { x.ApiResourceId, x.Key, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerApiResourceProperties_IdentityServerApiResources_ApiResourceId", - column: x => x.ApiResourceId, - principalTable: "IdentityServerApiResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResourceScopes", - columns: table => new - { - ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false), - Scope = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResourceScopes", x => new { x.ApiResourceId, x.Scope }); - table.ForeignKey( - name: "FK_IdentityServerApiResourceScopes_IdentityServerApiResources_ApiResourceId", - column: x => x.ApiResourceId, - principalTable: "IdentityServerApiResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiResourceSecrets", - columns: table => new - { - Type = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(4000)", maxLength: 4000, nullable: false), - ApiResourceId = table.Column(type: "uniqueidentifier", nullable: false), - Description = table.Column(type: "nvarchar(1000)", maxLength: 1000, nullable: true), - Expiration = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiResourceSecrets", x => new { x.ApiResourceId, x.Type, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerApiResourceSecrets_IdentityServerApiResources_ApiResourceId", - column: x => x.ApiResourceId, - principalTable: "IdentityServerApiResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiScopeClaims", - columns: table => new - { - Type = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - ApiScopeId = table.Column(type: "uniqueidentifier", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiScopeClaims", x => new { x.ApiScopeId, x.Type }); - table.ForeignKey( - name: "FK_IdentityServerApiScopeClaims_IdentityServerApiScopes_ApiScopeId", - column: x => x.ApiScopeId, - principalTable: "IdentityServerApiScopes", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerApiScopeProperties", - columns: table => new - { - ApiScopeId = table.Column(type: "uniqueidentifier", nullable: false), - Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerApiScopeProperties", x => new { x.ApiScopeId, x.Key, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerApiScopeProperties_IdentityServerApiScopes_ApiScopeId", - column: x => x.ApiScopeId, - principalTable: "IdentityServerApiScopes", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientClaims", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Type = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientClaims", x => new { x.ClientId, x.Type, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerClientClaims_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientCorsOrigins", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Origin = table.Column(type: "nvarchar(150)", maxLength: 150, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientCorsOrigins", x => new { x.ClientId, x.Origin }); - table.ForeignKey( - name: "FK_IdentityServerClientCorsOrigins_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientGrantTypes", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - GrantType = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientGrantTypes", x => new { x.ClientId, x.GrantType }); - table.ForeignKey( - name: "FK_IdentityServerClientGrantTypes_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientIdPRestrictions", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Provider = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientIdPRestrictions", x => new { x.ClientId, x.Provider }); - table.ForeignKey( - name: "FK_IdentityServerClientIdPRestrictions_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientPostLogoutRedirectUris", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - PostLogoutRedirectUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientPostLogoutRedirectUris", x => new { x.ClientId, x.PostLogoutRedirectUri }); - table.ForeignKey( - name: "FK_IdentityServerClientPostLogoutRedirectUris_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientProperties", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientProperties", x => new { x.ClientId, x.Key, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerClientProperties_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientRedirectUris", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - RedirectUri = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientRedirectUris", x => new { x.ClientId, x.RedirectUri }); - table.ForeignKey( - name: "FK_IdentityServerClientRedirectUris_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientScopes", - columns: table => new - { - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Scope = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientScopes", x => new { x.ClientId, x.Scope }); - table.ForeignKey( - name: "FK_IdentityServerClientScopes_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerClientSecrets", - columns: table => new - { - Type = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(4000)", maxLength: 4000, nullable: false), - ClientId = table.Column(type: "uniqueidentifier", nullable: false), - Description = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: true), - Expiration = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerClientSecrets", x => new { x.ClientId, x.Type, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerClientSecrets_IdentityServerClients_ClientId", - column: x => x.ClientId, - principalTable: "IdentityServerClients", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerIdentityResourceClaims", - columns: table => new - { - Type = table.Column(type: "nvarchar(200)", maxLength: 200, nullable: false), - IdentityResourceId = table.Column(type: "uniqueidentifier", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerIdentityResourceClaims", x => new { x.IdentityResourceId, x.Type }); - table.ForeignKey( - name: "FK_IdentityServerIdentityResourceClaims_IdentityServerIdentityResources_IdentityResourceId", - column: x => x.IdentityResourceId, - principalTable: "IdentityServerIdentityResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "IdentityServerIdentityResourceProperties", - columns: table => new - { - IdentityResourceId = table.Column(type: "uniqueidentifier", nullable: false), - Key = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: false), - Value = table.Column(type: "nvarchar(2000)", maxLength: 2000, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_IdentityServerIdentityResourceProperties", x => new { x.IdentityResourceId, x.Key, x.Value }); - table.ForeignKey( - name: "FK_IdentityServerIdentityResourceProperties_IdentityServerIdentityResources_IdentityResourceId", - column: x => x.IdentityResourceId, - principalTable: "IdentityServerIdentityResources", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateTable( - name: "AbpEntityPropertyChanges", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - TenantId = table.Column(type: "uniqueidentifier", nullable: true), - EntityChangeId = table.Column(type: "uniqueidentifier", nullable: false), - NewValue = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - OriginalValue = table.Column(type: "nvarchar(512)", maxLength: 512, nullable: true), - PropertyName = table.Column(type: "nvarchar(128)", maxLength: 128, nullable: false), - PropertyTypeFullName = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_AbpEntityPropertyChanges", x => x.Id); - table.ForeignKey( - name: "FK_AbpEntityPropertyChanges_AbpEntityChanges_EntityChangeId", - column: x => x.EntityChangeId, - principalTable: "AbpEntityChanges", - principalColumn: "Id", - onDelete: ReferentialAction.Cascade); - }); - - migrationBuilder.CreateIndex( - name: "IX_AbpAuditLogActions_AuditLogId", - table: "AbpAuditLogActions", - column: "AuditLogId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpAuditLogActions_TenantId_ServiceName_MethodName_ExecutionTime", - table: "AbpAuditLogActions", - columns: new[] { "TenantId", "ServiceName", "MethodName", "ExecutionTime" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpAuditLogs_TenantId_ExecutionTime", - table: "AbpAuditLogs", - columns: new[] { "TenantId", "ExecutionTime" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpAuditLogs_TenantId_UserId_ExecutionTime", - table: "AbpAuditLogs", - columns: new[] { "TenantId", "UserId", "ExecutionTime" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpBackgroundJobs_IsAbandoned_NextTryTime", - table: "AbpBackgroundJobs", - columns: new[] { "IsAbandoned", "NextTryTime" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpEntityChanges_AuditLogId", - table: "AbpEntityChanges", - column: "AuditLogId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpEntityChanges_TenantId_EntityTypeFullName_EntityId", - table: "AbpEntityChanges", - columns: new[] { "TenantId", "EntityTypeFullName", "EntityId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpEntityPropertyChanges_EntityChangeId", - table: "AbpEntityPropertyChanges", - column: "EntityChangeId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpFeatureValues_Name_ProviderName_ProviderKey", - table: "AbpFeatureValues", - columns: new[] { "Name", "ProviderName", "ProviderKey" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpLinkUsers_SourceUserId_SourceTenantId_TargetUserId_TargetTenantId", - table: "AbpLinkUsers", - columns: new[] { "SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId" }, - unique: true, - filter: "[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - migrationBuilder.CreateIndex( - name: "IX_AbpOrganizationUnitRoles_RoleId_OrganizationUnitId", - table: "AbpOrganizationUnitRoles", - columns: new[] { "RoleId", "OrganizationUnitId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpOrganizationUnits_Code", - table: "AbpOrganizationUnits", - column: "Code"); - - migrationBuilder.CreateIndex( - name: "IX_AbpOrganizationUnits_ParentId", - table: "AbpOrganizationUnits", - column: "ParentId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpPermissionGrants_Name_ProviderName_ProviderKey", - table: "AbpPermissionGrants", - columns: new[] { "Name", "ProviderName", "ProviderKey" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpRoleClaims_RoleId", - table: "AbpRoleClaims", - column: "RoleId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpRoles_NormalizedName", - table: "AbpRoles", - column: "NormalizedName"); - - migrationBuilder.CreateIndex( - name: "IX_AbpSecurityLogs_TenantId_Action", - table: "AbpSecurityLogs", - columns: new[] { "TenantId", "Action" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpSecurityLogs_TenantId_ApplicationName", - table: "AbpSecurityLogs", - columns: new[] { "TenantId", "ApplicationName" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpSecurityLogs_TenantId_Identity", - table: "AbpSecurityLogs", - columns: new[] { "TenantId", "Identity" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpSecurityLogs_TenantId_UserId", - table: "AbpSecurityLogs", - columns: new[] { "TenantId", "UserId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpSettings_Name_ProviderName_ProviderKey", - table: "AbpSettings", - columns: new[] { "Name", "ProviderName", "ProviderKey" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpTenants_Name", - table: "AbpTenants", - column: "Name"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUserClaims_UserId", - table: "AbpUserClaims", - column: "UserId"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUserLogins_LoginProvider_ProviderKey", - table: "AbpUserLogins", - columns: new[] { "LoginProvider", "ProviderKey" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpUserOrganizationUnits_UserId_OrganizationUnitId", - table: "AbpUserOrganizationUnits", - columns: new[] { "UserId", "OrganizationUnitId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpUserRoles_RoleId_UserId", - table: "AbpUserRoles", - columns: new[] { "RoleId", "UserId" }); - - migrationBuilder.CreateIndex( - name: "IX_AbpUsers_Email", - table: "AbpUsers", - column: "Email"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUsers_NormalizedEmail", - table: "AbpUsers", - column: "NormalizedEmail"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUsers_NormalizedUserName", - table: "AbpUsers", - column: "NormalizedUserName"); - - migrationBuilder.CreateIndex( - name: "IX_AbpUsers_UserName", - table: "AbpUsers", - column: "UserName"); - - migrationBuilder.CreateIndex( - name: "IX_FisAssemblyCfgPart_AssemblyCfgErpId", - table: "FisAssemblyCfgPart", - column: "AssemblyCfgErpId"); - - migrationBuilder.CreateIndex( - name: "IX_FisAssemblyCfgVehicleChild_AssemblyCfgVehicleId", - table: "FisAssemblyCfgVehicleChild", - column: "AssemblyCfgVehicleId"); - - migrationBuilder.CreateIndex( - name: "IX_FisBillM100Part_BillM100Id", - table: "FisBillM100Part", - column: "BillM100Id"); - - migrationBuilder.CreateIndex( - name: "IX_FisBillM110Part_BillM110Id", - table: "FisBillM110Part", - column: "BillM110Id"); - - migrationBuilder.CreateIndex( - name: "IX_FisBillR100Part_BillR100Id", - table: "FisBillR100Part", - column: "BillR100Id"); - - migrationBuilder.CreateIndex( - name: "IX_FisBillSortCfg_MessageVersionCfgId", - table: "FisBillSortCfg", - column: "MessageVersionCfgId"); - - migrationBuilder.CreateIndex( - name: "IX_FisRepeatM100Part_RepeatM100Id", - table: "FisRepeatM100Part", - column: "RepeatM100Id"); - - migrationBuilder.CreateIndex( - name: "IX_FisRepeatM110Part_RepeatM110Id", - table: "FisRepeatM110Part", - column: "RepeatM110Id"); - - migrationBuilder.CreateIndex( - name: "IX_FisRepeatR100Part_RepeatR100Id", - table: "FisRepeatR100Part", - column: "RepeatR100Id"); - - migrationBuilder.CreateIndex( - name: "IX_FisUnknownAssemblyPart_UnknownAssemblyId", - table: "FisUnknownAssemblyPart", - column: "UnknownAssemblyId"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerClients_ClientId", - table: "IdentityServerClients", - column: "ClientId"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerDeviceFlowCodes_DeviceCode", - table: "IdentityServerDeviceFlowCodes", - column: "DeviceCode", - unique: true); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerDeviceFlowCodes_Expiration", - table: "IdentityServerDeviceFlowCodes", - column: "Expiration"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerDeviceFlowCodes_UserCode", - table: "IdentityServerDeviceFlowCodes", - column: "UserCode"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerPersistedGrants_Expiration", - table: "IdentityServerPersistedGrants", - column: "Expiration"); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerPersistedGrants_SubjectId_ClientId_Type", - table: "IdentityServerPersistedGrants", - columns: new[] { "SubjectId", "ClientId", "Type" }); - - migrationBuilder.CreateIndex( - name: "IX_IdentityServerPersistedGrants_SubjectId_SessionId_Type", - table: "IdentityServerPersistedGrants", - columns: new[] { "SubjectId", "SessionId", "Type" }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "AbpAuditLogActions"); - - migrationBuilder.DropTable( - name: "AbpBackgroundJobs"); - - migrationBuilder.DropTable( - name: "AbpClaimTypes"); - - migrationBuilder.DropTable( - name: "AbpEntityPropertyChanges"); - - migrationBuilder.DropTable( - name: "AbpFeatureValues"); - - migrationBuilder.DropTable( - name: "AbpLinkUsers"); - - migrationBuilder.DropTable( - name: "AbpOrganizationUnitRoles"); - - migrationBuilder.DropTable( - name: "AbpPermissionGrants"); - - migrationBuilder.DropTable( - name: "AbpRoleClaims"); - - migrationBuilder.DropTable( - name: "AbpSecurityLogs"); - - migrationBuilder.DropTable( - name: "AbpSettings"); - - migrationBuilder.DropTable( - name: "AbpTenantConnectionStrings"); - - migrationBuilder.DropTable( - name: "AbpUserClaims"); - - migrationBuilder.DropTable( - name: "AbpUserLogins"); - - migrationBuilder.DropTable( - name: "AbpUserOrganizationUnits"); - - migrationBuilder.DropTable( - name: "AbpUserRoles"); - - migrationBuilder.DropTable( - name: "AbpUserTokens"); - - migrationBuilder.DropTable( - name: "FisAssemblyCfgPart"); - - migrationBuilder.DropTable( - name: "FisAssemblyCfgVehicleChild"); - - migrationBuilder.DropTable( - name: "FisBillM100Part"); - - migrationBuilder.DropTable( - name: "FisBillM110Part"); - - migrationBuilder.DropTable( - name: "FisBillR100Part"); - - migrationBuilder.DropTable( - name: "FisBillSortCfg"); - - migrationBuilder.DropTable( - name: "FisBooks"); - - migrationBuilder.DropTable( - name: "FisDicItem"); - - migrationBuilder.DropTable( - name: "FisDicType"); - - migrationBuilder.DropTable( - name: "FisExcludePartCfg"); - - migrationBuilder.DropTable( - name: "FisLogRemind"); - - migrationBuilder.DropTable( - name: "FisMessageReceive"); - - migrationBuilder.DropTable( - name: "FisPartCfg"); - - migrationBuilder.DropTable( - name: "FisRepeatM100Part"); - - migrationBuilder.DropTable( - name: "FisRepeatM110Part"); - - migrationBuilder.DropTable( - name: "FisRepeatR100Part"); - - migrationBuilder.DropTable( - name: "FisTransmissionModeCfg"); - - migrationBuilder.DropTable( - name: "FisUnknownAssemblyPart"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResourceClaims"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResourceProperties"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResourceScopes"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResourceSecrets"); - - migrationBuilder.DropTable( - name: "IdentityServerApiScopeClaims"); - - migrationBuilder.DropTable( - name: "IdentityServerApiScopeProperties"); - - migrationBuilder.DropTable( - name: "IdentityServerClientClaims"); - - migrationBuilder.DropTable( - name: "IdentityServerClientCorsOrigins"); - - migrationBuilder.DropTable( - name: "IdentityServerClientGrantTypes"); - - migrationBuilder.DropTable( - name: "IdentityServerClientIdPRestrictions"); - - migrationBuilder.DropTable( - name: "IdentityServerClientPostLogoutRedirectUris"); - - migrationBuilder.DropTable( - name: "IdentityServerClientProperties"); - - migrationBuilder.DropTable( - name: "IdentityServerClientRedirectUris"); - - migrationBuilder.DropTable( - name: "IdentityServerClientScopes"); - - migrationBuilder.DropTable( - name: "IdentityServerClientSecrets"); - - migrationBuilder.DropTable( - name: "IdentityServerDeviceFlowCodes"); - - migrationBuilder.DropTable( - name: "IdentityServerIdentityResourceClaims"); - - migrationBuilder.DropTable( - name: "IdentityServerIdentityResourceProperties"); - - migrationBuilder.DropTable( - name: "IdentityServerPersistedGrants"); - - migrationBuilder.DropTable( - name: "AbpEntityChanges"); - - migrationBuilder.DropTable( - name: "AbpTenants"); - - migrationBuilder.DropTable( - name: "AbpOrganizationUnits"); - - migrationBuilder.DropTable( - name: "AbpRoles"); - - migrationBuilder.DropTable( - name: "AbpUsers"); - - migrationBuilder.DropTable( - name: "FisAssemblyCfgErp"); - - migrationBuilder.DropTable( - name: "FisAssemblyCfgVehicle"); - - migrationBuilder.DropTable( - name: "FisBillM100"); - - migrationBuilder.DropTable( - name: "FisBillM110"); - - migrationBuilder.DropTable( - name: "FisBillR100"); - - migrationBuilder.DropTable( - name: "FisMessageVersionCfg"); - - migrationBuilder.DropTable( - name: "FisRepeatM100"); - - migrationBuilder.DropTable( - name: "FisRepeatM110"); - - migrationBuilder.DropTable( - name: "FisRepeatR100"); - - migrationBuilder.DropTable( - name: "FisUnknownAssembly"); - - migrationBuilder.DropTable( - name: "IdentityServerApiResources"); - - migrationBuilder.DropTable( - name: "IdentityServerApiScopes"); - - migrationBuilder.DropTable( - name: "IdentityServerClients"); - - migrationBuilder.DropTable( - name: "IdentityServerIdentityResources"); - - migrationBuilder.DropTable( - name: "AbpAuditLogs"); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.Designer.cs deleted file mode 100644 index 26eb2d93..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.Designer.cs +++ /dev/null @@ -1,3966 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20210902045945_Created_NewJit_Entity2021-09-02")] - partial class Created_NewJit_Entity20210902 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.9") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.cs deleted file mode 100644 index 66b8d331..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210902045945_Created_NewJit_Entity2021-09-02.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity20210902 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AlterColumn( - name: "MessageFileReceiveID", - table: "FisRepeatM100", - type: "uniqueidentifier", - nullable: true, - oldClrType: typeof(Guid), - oldType: "uniqueidentifier"); - - migrationBuilder.AlterColumn( - name: "MessageFileReceiveID", - table: "FisBillM100", - type: "uniqueidentifier", - nullable: true, - oldClrType: typeof(Guid), - oldType: "uniqueidentifier"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.AlterColumn( - name: "MessageFileReceiveID", - table: "FisRepeatM100", - type: "uniqueidentifier", - nullable: false, - defaultValue: new Guid("00000000-0000-0000-0000-000000000000"), - oldClrType: typeof(Guid), - oldType: "uniqueidentifier", - oldNullable: true); - - migrationBuilder.AlterColumn( - name: "MessageFileReceiveID", - table: "FisBillM100", - type: "uniqueidentifier", - nullable: false, - defaultValue: new Guid("00000000-0000-0000-0000-000000000000"), - oldClrType: typeof(Guid), - oldType: "uniqueidentifier", - oldNullable: true); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.Designer.cs deleted file mode 100644 index 0b5d0293..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.Designer.cs +++ /dev/null @@ -1,3969 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20210909004437_Created_NewJit_Entity2021-09-09")] - partial class Created_NewJit_Entity20210909 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.9") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.Property("VehicleModel") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.cs deleted file mode 100644 index 0c10ecf4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210909004437_Created_NewJit_Entity2021-09-09.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity20210909 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "VehicleModel", - table: "FisAssemblyCfgErp", - type: "nvarchar(max)", - nullable: true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "VehicleModel", - table: "FisAssemblyCfgErp"); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.Designer.cs deleted file mode 100644 index 1efd5c7a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.Designer.cs +++ /dev/null @@ -1,3969 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20210916031559_Created_NewJit_Entity2021-09-16")] - partial class Created_NewJit_Entity20210916 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.10") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.Property("VehicleModel") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.cs deleted file mode 100644 index 13736a71..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916031559_Created_NewJit_Entity2021-09-16.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity20210916 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.Designer.cs deleted file mode 100644 index 14c725cc..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.Designer.cs +++ /dev/null @@ -1,3993 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20210916032129_Created_NewJit_Entity2021-09-16_2")] - partial class Created_NewJit_Entity20210916_2 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.10") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.Property("VehicleModel") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("NotMatchBillId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.ToTable("FisNotMatchTempBill"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.cs deleted file mode 100644 index ad4bffe8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916032129_Created_NewJit_Entity2021-09-16_2.cs +++ /dev/null @@ -1,31 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity20210916_2 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "FisNotMatchTempBill", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - NotMatchBillId = table.Column(type: "uniqueidentifier", nullable: false), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisNotMatchTempBill", x => x.Id); - }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "FisNotMatchTempBill"); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.Designer.cs deleted file mode 100644 index f606006f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.Designer.cs +++ /dev/null @@ -1,3993 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20210916033507_Created_NewJit_Entity2021-09-16_v1")] - partial class Created_NewJit_Entity20210916_v1 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.10") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.Property("VehicleModel") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("NotMatchBillId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.ToTable("FisNotMatchTempBill"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.cs deleted file mode 100644 index 9177e7f8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210916033507_Created_NewJit_Entity2021-09-16_v1.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity20210916_v1 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.Designer.cs deleted file mode 100644 index 07e5c41f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.Designer.cs +++ /dev/null @@ -1,3996 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20210922015953_Created_NewJit_Entity2021-09-22")] - partial class Created_NewJit_Entity20210922 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.10") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.Property("VehicleModel") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Memo") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("NotMatchBillId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.ToTable("FisNotMatchTempBill"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.cs deleted file mode 100644 index 444d14e1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210922015953_Created_NewJit_Entity2021-09-22.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity20210922 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "Memo", - table: "FisUnknownAssembly", - type: "nvarchar(max)", - nullable: true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "Memo", - table: "FisUnknownAssembly"); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.Designer.cs deleted file mode 100644 index 93e30aa4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.Designer.cs +++ /dev/null @@ -1,3999 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20210923072857_Created_NewJit_Entity2021-09-23")] - partial class Created_NewJit_Entity20210923 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.10") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.Property("RelationKey") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModel") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Memo") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("NotMatchBillId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.ToTable("FisNotMatchTempBill"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.cs deleted file mode 100644 index 3dd5fad4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20210923072857_Created_NewJit_Entity2021-09-23.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity20210923 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AddColumn( - name: "RelationKey", - table: "FisAssemblyCfgErp", - type: "nvarchar(max)", - nullable: true); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "RelationKey", - table: "FisAssemblyCfgErp"); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.Designer.cs deleted file mode 100644 index 8bca5e09..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.Designer.cs +++ /dev/null @@ -1,4002 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20211015062141_Created_NewJit_Entity2021-10-15")] - partial class Created_NewJit_Entity20211015 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.11") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.Property("RelationKey") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModel") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Memo") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("NotMatchBillId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.ToTable("FisNotMatchTempBill"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.cs deleted file mode 100644 index 3dadeb1d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211015062141_Created_NewJit_Entity2021-10-15.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity20211015 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.AlterColumn( - name: "BillStatus", - table: "FisRepeatR100", - type: "int", - nullable: true, - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AddColumn( - name: "ReceiveTime", - table: "FisMessageReceive", - type: "datetime2", - nullable: false, - defaultValue: new DateTime(1, 1, 1, 0, 0, 0, 0, DateTimeKind.Unspecified)); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropColumn( - name: "ReceiveTime", - table: "FisMessageReceive"); - - migrationBuilder.AlterColumn( - name: "BillStatus", - table: "FisRepeatR100", - type: "int", - nullable: false, - defaultValue: 0, - oldClrType: typeof(int), - oldType: "int", - oldNullable: true); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.Designer.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.Designer.cs deleted file mode 100644 index 69b70028..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.Designer.cs +++ /dev/null @@ -1,4131 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - [Migration("20211022065604_Created_NewJit_Entity2021-10-22")] - partial class Created_NewJit_Entity20211022 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.11") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.Property("RelationKey") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModel") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogStatus") - .HasColumnType("int"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DaXiaoLiangGang") - .HasColumnType("nvarchar(max)"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("DoorPlankCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaterialDescription") - .HasColumnType("nvarchar(max)"); - - b.Property("PartChildType") - .HasColumnType("nvarchar(max)"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.Property("SAPMaterialNum") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartSwitch", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ActiveBeginTime") - .HasColumnType("datetime2"); - - b.Property("ActiveEndTime") - .HasColumnType("datetime2"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("SourcePartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("TargetPartCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartSwitch"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("PrintBillNum") - .HasColumnType("nvarchar(max)"); - - b.Property("PrintTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("PrintTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("NotMatchBillId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.ToTable("FisNotMatchTempBill"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.cs deleted file mode 100644 index 2cbbac20..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/20211022065604_Created_NewJit_Entity2021-10-22.cs +++ /dev/null @@ -1,309 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace WY.NewJit.Migrations -{ - public partial class Created_NewJit_Entity20211022 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.RenameColumn( - name: "Memo", - table: "FisUnknownAssembly", - newName: "Description"); - - migrationBuilder.AlterColumn( - name: "BillStatus", - table: "FisRepeatR100", - type: "int", - nullable: false, - defaultValue: 0, - oldClrType: typeof(int), - oldType: "int", - oldNullable: true); - - migrationBuilder.AddColumn( - name: "Description", - table: "FisRepeatR100", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "ProductLine", - table: "FisRepeatR100", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "BillStatus", - table: "FisRepeatM110", - type: "int", - nullable: false, - defaultValue: 0); - - migrationBuilder.AddColumn( - name: "Description", - table: "FisRepeatM110", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "ProductLine", - table: "FisRepeatM110", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AlterColumn( - name: "BillStatus", - table: "FisRepeatM100", - type: "int", - nullable: false, - defaultValue: 0, - oldClrType: typeof(int), - oldType: "int", - oldNullable: true); - - migrationBuilder.AddColumn( - name: "Description", - table: "FisRepeatM100", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "ProductLine", - table: "FisRepeatM100", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "DaXiaoLiangGang", - table: "FisPartCfg", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "DoorPlankCode", - table: "FisPartCfg", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "MaterialDescription", - table: "FisPartCfg", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "PartChildType", - table: "FisPartCfg", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "SAPMaterialNum", - table: "FisPartCfg", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "LogStatus", - table: "FisLogRemind", - type: "int", - nullable: false, - defaultValue: 0); - - migrationBuilder.AddColumn( - name: "Description", - table: "FisBillR100", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "PrintTime", - table: "FisBillR100", - type: "datetime2", - nullable: true); - - migrationBuilder.AddColumn( - name: "ProductLine", - table: "FisBillR100", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "Description", - table: "FisBillM110", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "ProductLine", - table: "FisBillM110", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "Description", - table: "FisBillM100", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "PrintBillNum", - table: "FisBillM100", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.AddColumn( - name: "PrintTime", - table: "FisBillM100", - type: "datetime2", - nullable: true); - - migrationBuilder.AddColumn( - name: "ProductLine", - table: "FisBillM100", - type: "nvarchar(max)", - nullable: true); - - migrationBuilder.CreateTable( - name: "FisPartSwitch", - columns: table => new - { - Id = table.Column(type: "uniqueidentifier", nullable: false), - SourcePartCode = table.Column(type: "nvarchar(max)", nullable: true), - TargetPartCode = table.Column(type: "nvarchar(max)", nullable: true), - ActiveBeginTime = table.Column(type: "datetime2", nullable: true), - ActiveEndTime = table.Column(type: "datetime2", nullable: true), - ExtraProperties = table.Column(type: "nvarchar(max)", nullable: true), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: true), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) - }, - constraints: table => - { - table.PrimaryKey("PK_FisPartSwitch", x => x.Id); - }); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "FisPartSwitch"); - - migrationBuilder.DropColumn( - name: "Description", - table: "FisRepeatR100"); - - migrationBuilder.DropColumn( - name: "ProductLine", - table: "FisRepeatR100"); - - migrationBuilder.DropColumn( - name: "BillStatus", - table: "FisRepeatM110"); - - migrationBuilder.DropColumn( - name: "Description", - table: "FisRepeatM110"); - - migrationBuilder.DropColumn( - name: "ProductLine", - table: "FisRepeatM110"); - - migrationBuilder.DropColumn( - name: "Description", - table: "FisRepeatM100"); - - migrationBuilder.DropColumn( - name: "ProductLine", - table: "FisRepeatM100"); - - migrationBuilder.DropColumn( - name: "DaXiaoLiangGang", - table: "FisPartCfg"); - - migrationBuilder.DropColumn( - name: "DoorPlankCode", - table: "FisPartCfg"); - - migrationBuilder.DropColumn( - name: "MaterialDescription", - table: "FisPartCfg"); - - migrationBuilder.DropColumn( - name: "PartChildType", - table: "FisPartCfg"); - - migrationBuilder.DropColumn( - name: "SAPMaterialNum", - table: "FisPartCfg"); - - migrationBuilder.DropColumn( - name: "LogStatus", - table: "FisLogRemind"); - - migrationBuilder.DropColumn( - name: "Description", - table: "FisBillR100"); - - migrationBuilder.DropColumn( - name: "PrintTime", - table: "FisBillR100"); - - migrationBuilder.DropColumn( - name: "ProductLine", - table: "FisBillR100"); - - migrationBuilder.DropColumn( - name: "Description", - table: "FisBillM110"); - - migrationBuilder.DropColumn( - name: "ProductLine", - table: "FisBillM110"); - - migrationBuilder.DropColumn( - name: "Description", - table: "FisBillM100"); - - migrationBuilder.DropColumn( - name: "PrintBillNum", - table: "FisBillM100"); - - migrationBuilder.DropColumn( - name: "PrintTime", - table: "FisBillM100"); - - migrationBuilder.DropColumn( - name: "ProductLine", - table: "FisBillM100"); - - migrationBuilder.RenameColumn( - name: "Description", - table: "FisUnknownAssembly", - newName: "Memo"); - - migrationBuilder.AlterColumn( - name: "BillStatus", - table: "FisRepeatR100", - type: "int", - nullable: true, - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "BillStatus", - table: "FisRepeatM100", - type: "int", - nullable: true, - oldClrType: typeof(int), - oldType: "int"); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/NewJitMigrationsDbContextModelSnapshot.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/NewJitMigrationsDbContextModelSnapshot.cs deleted file mode 100644 index 77d53b17..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/Migrations/NewJitMigrationsDbContextModelSnapshot.cs +++ /dev/null @@ -1,4129 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore; - -namespace WY.NewJit.Migrations -{ - [DbContext(typeof(NewJitMigrationsDbContext))] - partial class NewJitMigrationsDbContextModelSnapshot : ModelSnapshot - { - protected override void BuildModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("Relational:MaxIdentifierLength", 128) - .HasAnnotation("ProductVersion", "5.0.11") - .HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)") - .HasColumnName("ApplicationName"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("BrowserInfo"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientId"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("ClientIpAddress"); - - b.Property("ClientName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("ClientName"); - - b.Property("Comments") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Comments"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("CorrelationId"); - - b.Property("Exceptions") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)") - .HasColumnName("Exceptions"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HttpMethod") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("HttpMethod"); - - b.Property("HttpStatusCode") - .HasColumnType("int") - .HasColumnName("HttpStatusCode"); - - b.Property("ImpersonatorTenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorTenantId"); - - b.Property("ImpersonatorUserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("ImpersonatorUserId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasColumnType("nvarchar(max)"); - - b.Property("Url") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Url"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier") - .HasColumnName("UserId"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "ExecutionTime"); - - b.HasIndex("TenantId", "UserId", "ExecutionTime"); - - b.ToTable("AbpAuditLogs"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ExecutionDuration") - .HasColumnType("int") - .HasColumnName("ExecutionDuration"); - - b.Property("ExecutionTime") - .HasColumnType("datetime2") - .HasColumnName("ExecutionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MethodName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("MethodName"); - - b.Property("Parameters") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)") - .HasColumnName("Parameters"); - - b.Property("ServiceName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("ServiceName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); - - b.ToTable("AbpAuditLogActions"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AuditLogId") - .HasColumnType("uniqueidentifier") - .HasColumnName("AuditLogId"); - - b.Property("ChangeTime") - .HasColumnType("datetime2") - .HasColumnName("ChangeTime"); - - b.Property("ChangeType") - .HasColumnType("tinyint") - .HasColumnName("ChangeType"); - - b.Property("EntityId") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityId"); - - b.Property("EntityTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("EntityTypeFullName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("EntityTypeFullName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("AuditLogId"); - - b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); - - b.ToTable("AbpEntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("EntityChangeId") - .HasColumnType("uniqueidentifier"); - - b.Property("NewValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("NewValue"); - - b.Property("OriginalValue") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)") - .HasColumnName("OriginalValue"); - - b.Property("PropertyName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("PropertyName"); - - b.Property("PropertyTypeFullName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("PropertyTypeFullName"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("EntityChangeId"); - - b.ToTable("AbpEntityPropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.BackgroundJobs.BackgroundJobRecord", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsAbandoned") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false); - - b.Property("JobArgs") - .IsRequired() - .HasMaxLength(1048576) - .HasColumnType("nvarchar(max)"); - - b.Property("JobName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("LastTryTime") - .HasColumnType("datetime2"); - - b.Property("NextTryTime") - .HasColumnType("datetime2"); - - b.Property("Priority") - .ValueGeneratedOnAdd() - .HasColumnType("tinyint") - .HasDefaultValue((byte)15); - - b.Property("TryCount") - .ValueGeneratedOnAdd() - .HasColumnType("smallint") - .HasDefaultValue((short)0); - - b.HasKey("Id"); - - b.HasIndex("IsAbandoned", "NextTryTime"); - - b.ToTable("AbpBackgroundJobs"); - }); - - modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpFeatureValues"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("Description") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsStatic") - .HasColumnType("bit"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("Regex") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("RegexDescription") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ValueType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("AbpClaimTypes"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("SourceTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("SourceUserId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetTenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("TargetUserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") - .IsUnique() - .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); - - b.ToTable("AbpLinkUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDefault") - .HasColumnType("bit") - .HasColumnName("IsDefault"); - - b.Property("IsPublic") - .HasColumnType("bit") - .HasColumnName("IsPublic"); - - b.Property("IsStatic") - .HasColumnType("bit") - .HasColumnName("IsStatic"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("NormalizedName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("NormalizedName"); - - b.ToTable("AbpRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("RoleId"); - - b.ToTable("AbpRoleClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Action") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("ApplicationName") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("BrowserInfo") - .HasMaxLength(512) - .HasColumnType("nvarchar(512)"); - - b.Property("ClientId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ClientIpAddress") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CorrelationId") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Identity") - .HasMaxLength(96) - .HasColumnType("nvarchar(96)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TenantName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserName") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.HasKey("Id"); - - b.HasIndex("TenantId", "Action"); - - b.HasIndex("TenantId", "ApplicationName"); - - b.HasIndex("TenantId", "Identity"); - - b.HasIndex("TenantId", "UserId"); - - b.ToTable("AbpSecurityLogs"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AccessFailedCount") - .ValueGeneratedOnAdd() - .HasColumnType("int") - .HasDefaultValue(0) - .HasColumnName("AccessFailedCount"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Email") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("Email"); - - b.Property("EmailConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("EmailConfirmed"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsExternal") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsExternal"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LockoutEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("LockoutEnabled"); - - b.Property("LockoutEnd") - .HasColumnType("datetimeoffset"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Name"); - - b.Property("NormalizedEmail") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedEmail"); - - b.Property("NormalizedUserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("NormalizedUserName"); - - b.Property("PasswordHash") - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("PasswordHash"); - - b.Property("PhoneNumber") - .HasMaxLength(16) - .HasColumnType("nvarchar(16)") - .HasColumnName("PhoneNumber"); - - b.Property("PhoneNumberConfirmed") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("PhoneNumberConfirmed"); - - b.Property("SecurityStamp") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("SecurityStamp"); - - b.Property("Surname") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)") - .HasColumnName("Surname"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("TwoFactorEnabled") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("TwoFactorEnabled"); - - b.Property("UserName") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)") - .HasColumnName("UserName"); - - b.HasKey("Id"); - - b.HasIndex("Email"); - - b.HasIndex("NormalizedEmail"); - - b.HasIndex("NormalizedUserName"); - - b.HasIndex("UserName"); - - b.ToTable("AbpUsers"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("ClaimType") - .IsRequired() - .HasMaxLength(256) - .HasColumnType("nvarchar(256)"); - - b.Property("ClaimValue") - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UserId"); - - b.ToTable("AbpUserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderDisplayName") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(196) - .HasColumnType("nvarchar(196)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "LoginProvider"); - - b.HasIndex("LoginProvider", "ProviderKey"); - - b.ToTable("AbpUserLogins"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "UserId"); - - b.HasIndex("UserId", "OrganizationUnitId"); - - b.ToTable("AbpUserOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("UserId", "RoleId"); - - b.HasIndex("RoleId", "UserId"); - - b.ToTable("AbpUserRoles"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.Property("UserId") - .HasColumnType("uniqueidentifier"); - - b.Property("LoginProvider") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Name") - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.Property("Value") - .HasColumnType("nvarchar(max)"); - - b.HasKey("UserId", "LoginProvider", "Name"); - - b.ToTable("AbpUserTokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Code") - .IsRequired() - .HasMaxLength(95) - .HasColumnType("nvarchar(95)") - .HasColumnName("Code"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DisplayName") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)") - .HasColumnName("DisplayName"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("ParentId") - .HasColumnType("uniqueidentifier"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Code"); - - b.HasIndex("ParentId"); - - b.ToTable("AbpOrganizationUnits"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.Property("OrganizationUnitId") - .HasColumnType("uniqueidentifier"); - - b.Property("RoleId") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("OrganizationUnitId", "RoleId"); - - b.HasIndex("RoleId", "OrganizationUnitId"); - - b.ToTable("AbpOrganizationUnitRoles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AllowedAccessTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Type"); - - b.ToTable("IdentityServerApiResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiResourceId", "Key", "Value"); - - b.ToTable("IdentityServerApiResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiResourceId", "Scope"); - - b.ToTable("IdentityServerApiResourceScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.Property("ApiResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ApiResourceId", "Type", "Value"); - - b.ToTable("IdentityServerApiResourceSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerApiScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ApiScopeId", "Type"); - - b.ToTable("IdentityServerApiScopeClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.Property("ApiScopeId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ApiScopeId", "Key", "Value"); - - b.ToTable("IdentityServerApiScopeProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AbsoluteRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenLifetime") - .HasColumnType("int"); - - b.Property("AccessTokenType") - .HasColumnType("int"); - - b.Property("AllowAccessTokensViaBrowser") - .HasColumnType("bit"); - - b.Property("AllowOfflineAccess") - .HasColumnType("bit"); - - b.Property("AllowPlainTextPkce") - .HasColumnType("bit"); - - b.Property("AllowRememberConsent") - .HasColumnType("bit"); - - b.Property("AllowedIdentityTokenSigningAlgorithms") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("AlwaysIncludeUserClaimsInIdToken") - .HasColumnType("bit"); - - b.Property("AlwaysSendClientClaims") - .HasColumnType("bit"); - - b.Property("AuthorizationCodeLifetime") - .HasColumnType("int"); - - b.Property("BackChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("BackChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ClientClaimsPrefix") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsentLifetime") - .HasColumnType("int"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DeviceCodeLifetime") - .HasColumnType("int"); - - b.Property("EnableLocalLogin") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FrontChannelLogoutSessionRequired") - .HasColumnType("bit"); - - b.Property("FrontChannelLogoutUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("IdentityTokenLifetime") - .HasColumnType("int"); - - b.Property("IncludeJwtId") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("LogoUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("PairWiseSubjectSalt") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ProtocolType") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("RefreshTokenExpiration") - .HasColumnType("int"); - - b.Property("RefreshTokenUsage") - .HasColumnType("int"); - - b.Property("RequireClientSecret") - .HasColumnType("bit"); - - b.Property("RequireConsent") - .HasColumnType("bit"); - - b.Property("RequirePkce") - .HasColumnType("bit"); - - b.Property("RequireRequestObject") - .HasColumnType("bit"); - - b.Property("SlidingRefreshTokenLifetime") - .HasColumnType("int"); - - b.Property("UpdateAccessTokenClaimsOnRefresh") - .HasColumnType("bit"); - - b.Property("UserCodeType") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("UserSsoLifetime") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.HasIndex("ClientId"); - - b.ToTable("IdentityServerClients"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Origin") - .HasMaxLength(150) - .HasColumnType("nvarchar(150)"); - - b.HasKey("ClientId", "Origin"); - - b.ToTable("IdentityServerClientCorsOrigins"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("GrantType") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.HasKey("ClientId", "GrantType"); - - b.ToTable("IdentityServerClientGrantTypes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Provider") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Provider"); - - b.ToTable("IdentityServerClientIdPRestrictions"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("PostLogoutRedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "PostLogoutRedirectUri"); - - b.ToTable("IdentityServerClientPostLogoutRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "Key", "Value"); - - b.ToTable("IdentityServerClientProperties"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("RedirectUri") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("ClientId", "RedirectUri"); - - b.ToTable("IdentityServerClientRedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Scope") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("ClientId", "Scope"); - - b.ToTable("IdentityServerClientScopes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.Property("ClientId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(4000) - .HasColumnType("nvarchar(4000)"); - - b.Property("Description") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.HasKey("ClientId", "Type", "Value"); - - b.ToTable("IdentityServerClientSecrets"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Devices.DeviceFlowCodes", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("DeviceCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .IsRequired() - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("UserCode") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("Id"); - - b.HasIndex("DeviceCode") - .IsUnique(); - - b.HasIndex("Expiration"); - - b.HasIndex("UserCode"); - - b.ToTable("IdentityServerDeviceFlowCodes"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Grants.PersistedGrant", b => - { - b.Property("Key") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ClientId") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ConsumedTime") - .HasColumnType("datetime2"); - - b.Property("CreationTime") - .HasColumnType("datetime2"); - - b.Property("Data") - .IsRequired() - .HasMaxLength(50000) - .HasColumnType("nvarchar(max)"); - - b.Property("Description") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Expiration") - .HasColumnType("datetime2"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("Id") - .HasColumnType("uniqueidentifier"); - - b.Property("SessionId") - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("SubjectId") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Type") - .IsRequired() - .HasMaxLength(50) - .HasColumnType("nvarchar(50)"); - - b.HasKey("Key"); - - b.HasIndex("Expiration"); - - b.HasIndex("SubjectId", "ClientId", "Type"); - - b.HasIndex("SubjectId", "SessionId", "Type"); - - b.ToTable("IdentityServerPersistedGrants"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasMaxLength(1000) - .HasColumnType("nvarchar(1000)"); - - b.Property("DisplayName") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Emphasize") - .HasColumnType("bit"); - - b.Property("Enabled") - .HasColumnType("bit"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.Property("Required") - .HasColumnType("bit"); - - b.Property("ShowInDiscoveryDocument") - .HasColumnType("bit"); - - b.HasKey("Id"); - - b.ToTable("IdentityServerIdentityResources"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Type") - .HasMaxLength(200) - .HasColumnType("nvarchar(200)"); - - b.HasKey("IdentityResourceId", "Type"); - - b.ToTable("IdentityServerIdentityResourceClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.Property("IdentityResourceId") - .HasColumnType("uniqueidentifier"); - - b.Property("Key") - .HasMaxLength(250) - .HasColumnType("nvarchar(250)"); - - b.Property("Value") - .HasMaxLength(2000) - .HasColumnType("nvarchar(2000)"); - - b.HasKey("IdentityResourceId", "Key", "Value"); - - b.ToTable("IdentityServerIdentityResourceProperties"); - }); - - modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("TenantId") - .HasColumnType("uniqueidentifier") - .HasColumnName("TenantId"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpPermissionGrants"); - }); - - modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(128) - .HasColumnType("nvarchar(128)"); - - b.Property("ProviderKey") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("ProviderName") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(2048) - .HasColumnType("nvarchar(2048)"); - - b.HasKey("Id"); - - b.HasIndex("Name", "ProviderName", "ProviderKey"); - - b.ToTable("AbpSettings"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.HasKey("Id"); - - b.HasIndex("Name"); - - b.ToTable("AbpTenants"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.Property("TenantId") - .HasColumnType("uniqueidentifier"); - - b.Property("Name") - .HasMaxLength(64) - .HasColumnType("nvarchar(64)"); - - b.Property("Value") - .IsRequired() - .HasMaxLength(1024) - .HasColumnType("nvarchar(1024)"); - - b.HasKey("TenantId", "Name"); - - b.ToTable("AbpTenantConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.Books.Book", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Name") - .IsRequired() - .HasMaxLength(100) - .HasColumnType("nvarchar(100)"); - - b.Property("Price") - .HasColumnType("real"); - - b.Property("PublishDate") - .HasColumnType("datetime2"); - - b.Property("Type") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisBooks"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ErpAssemblyVersion") - .HasColumnType("int"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PreviousVersionId") - .HasColumnType("uniqueidentifier"); - - b.Property("RelationKey") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModel") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgErp"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgErpId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("IsKey") - .HasColumnType("bit"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgErpId"); - - b.ToTable("FisAssemblyCfgPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyName") - .HasColumnType("nvarchar(max)"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsActivate") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisAssemblyCfgVehicle"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyCfgVehicleId") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ErpAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.HasIndex("AssemblyCfgVehicleId"); - - b.ToTable("FisAssemblyCfgVehicleChild"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicItem", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicItemCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicItemName") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicItem"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.DicType", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("DicTypeCode") - .HasColumnType("nvarchar(max)"); - - b.Property("DicTypeName") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.HasKey("Id"); - - b.ToTable("FisDicType"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.ExcludePartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExcludeReason") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisExcludePartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.LogRemind", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("LogDesc") - .HasColumnType("nvarchar(max)"); - - b.Property("LogStatus") - .HasColumnType("int"); - - b.Property("LogTitle") - .HasColumnType("nvarchar(max)"); - - b.Property("LogType") - .HasColumnType("int"); - - b.Property("SeriousLevel") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisLogRemind"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DaXiaoLiangGang") - .HasColumnType("nvarchar(max)"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("DoorPlankCode") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MaterialDescription") - .HasColumnType("nvarchar(max)"); - - b.Property("PartChildType") - .HasColumnType("nvarchar(max)"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartName") - .HasColumnType("nvarchar(max)"); - - b.Property("PartType") - .HasColumnType("nvarchar(max)"); - - b.Property("SAPMaterialNum") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.PartSwitch", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ActiveBeginTime") - .HasColumnType("datetime2"); - - b.Property("ActiveEndTime") - .HasColumnType("datetime2"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("SourcePartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("TargetPartCode") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisPartSwitch"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("OperationTime") - .HasColumnType("datetime2"); - - b.Property("OperationType") - .HasColumnType("int"); - - b.Property("Operator") - .HasColumnType("nvarchar(max)"); - - b.Property("PrintBillNum") - .HasColumnType("nvarchar(max)"); - - b.Property("PrintTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM100Id"); - - b.ToTable("FisBillM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillM110Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillM110Id"); - - b.ToTable("FisBillM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("PrintTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisBillR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillR100Id") - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.HasKey("Id"); - - b.HasIndex("BillR100Id"); - - b.ToTable("FisBillR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("SerialNum") - .HasColumnType("int"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM100Id"); - - b.ToTable("FisRepeatM100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VIN") - .HasColumnType("nvarchar(max)"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatM110"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatM110Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatM110Id"); - - b.ToTable("FisRepeatM110Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("AssemblyID") - .HasColumnType("uniqueidentifier"); - - b.Property("BillStatus") - .HasColumnType("int"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("HostSN") - .HasColumnType("int"); - - b.Property("KNR") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageFileReceiveID") - .HasColumnType("uniqueidentifier"); - - b.Property("OnlineTime") - .HasColumnType("datetime2"); - - b.Property("ProductLine") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.Property("VehicleModelCode") - .HasColumnType("nvarchar(max)"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisRepeatR100"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("RepeatR100Id") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("RepeatR100Id"); - - b.ToTable("FisRepeatR100Part"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillID") - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("ScanPoint") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisUnknownAssembly"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("Description") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("PartCode") - .HasColumnType("nvarchar(max)"); - - b.Property("PartNum") - .HasColumnType("float"); - - b.Property("UnknownAssemblyId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("UnknownAssemblyId"); - - b.ToTable("FisUnknownAssemblyPart"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("BillName") - .HasColumnType("nvarchar(max)"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("FileContentKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("MessageVersionCfgId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.HasIndex("MessageVersionCfgId"); - - b.ToTable("FisBillSortCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("FileNameKeyword") - .HasColumnType("nvarchar(max)"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("Version") - .HasColumnType("nvarchar(max)"); - - b.HasKey("Id"); - - b.ToTable("FisMessageVersionCfg"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.MessageReceive", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("MessageContent") - .HasColumnType("nvarchar(max)"); - - b.Property("MessageFileName") - .HasColumnType("nvarchar(max)"); - - b.Property("ReceiveStatus") - .HasColumnType("int"); - - b.Property("ReceiveTime") - .HasColumnType("datetime2"); - - b.HasKey("Id"); - - b.ToTable("FisMessageReceive"); - }); - - modelBuilder.Entity("WY.NewJit.MsgTransmission.TransmissionModeCfg", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("IsApply") - .HasColumnType("bit"); - - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - - b.Property("TransmissionModeContent") - .HasColumnType("nvarchar(max)"); - - b.Property("TransmissionModeType") - .HasColumnType("int"); - - b.HasKey("Id"); - - b.ToTable("FisTransmissionModeCfg"); - }); - - modelBuilder.Entity("WY.NewJit.TianHe.NotMatchTempBill", b => - { - b.Property("Id") - .ValueGeneratedOnAdd() - .HasColumnType("uniqueidentifier"); - - b.Property("ConcurrencyStamp") - .IsConcurrencyToken() - .HasMaxLength(40) - .HasColumnType("nvarchar(40)") - .HasColumnName("ConcurrencyStamp"); - - b.Property("ExtraProperties") - .HasColumnType("nvarchar(max)") - .HasColumnName("ExtraProperties"); - - b.Property("NotMatchBillId") - .HasColumnType("uniqueidentifier"); - - b.HasKey("Id"); - - b.ToTable("FisNotMatchTempBill"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("Actions") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) - .WithMany("EntityChanges") - .HasForeignKey("AuditLogId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => - { - b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) - .WithMany("PropertyChanges") - .HasForeignKey("EntityChangeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany("Claims") - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Claims") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Logins") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("OrganizationUnits") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => - { - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Roles") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => - { - b.HasOne("Volo.Abp.Identity.IdentityUser", null) - .WithMany("Tokens") - .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany() - .HasForeignKey("ParentId"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => - { - b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) - .WithMany("Roles") - .HasForeignKey("OrganizationUnitId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Volo.Abp.Identity.IdentityRole", null) - .WithMany() - .HasForeignKey("RoleId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("UserClaims") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Properties") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Scopes") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResourceSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiResources.ApiResource", null) - .WithMany("Secrets") - .HasForeignKey("ApiResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("UserClaims") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScopeProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.ApiScopes.ApiScope", null) - .WithMany("Properties") - .HasForeignKey("ApiScopeId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Claims") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientCorsOrigin", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedCorsOrigins") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientGrantType", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedGrantTypes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientIdPRestriction", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("IdentityProviderRestrictions") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientPostLogoutRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("PostLogoutRedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("Properties") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientRedirectUri", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("RedirectUris") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientScope", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("AllowedScopes") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.ClientSecret", b => - { - b.HasOne("Volo.Abp.IdentityServer.Clients.Client", null) - .WithMany("ClientSecrets") - .HasForeignKey("ClientId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceClaim", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("UserClaims") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResourceProperty", b => - { - b.HasOne("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", null) - .WithMany("Properties") - .HasForeignKey("IdentityResourceId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => - { - b.HasOne("Volo.Abp.TenantManagement.Tenant", null) - .WithMany("ConnectionStrings") - .HasForeignKey("TenantId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgPart", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgErp", null) - .WithMany("Details") - .HasForeignKey("AssemblyCfgErpId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicleChild", b => - { - b.HasOne("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", null) - .WithMany("AssemblyCfgVehicleChilds") - .HasForeignKey("AssemblyCfgVehicleId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM100", null) - .WithMany("BillM100Parts") - .HasForeignKey("BillM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillM110", null) - .WithMany("BillM110Parts") - .HasForeignKey("BillM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.BillR100", null) - .WithMany("BillR100Parts") - .HasForeignKey("BillR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM100", null) - .WithMany("M100RepeatParts") - .HasForeignKey("RepeatM100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatM110", null) - .WithMany("M110RepeatParts") - .HasForeignKey("RepeatM110Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100Part", b => - { - b.HasOne("WY.NewJit.MsgCheck.RepeatR100", null) - .WithMany("R100RepeatParts") - .HasForeignKey("RepeatR100Id"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssemblyPart", b => - { - b.HasOne("WY.NewJit.MsgCheck.UnknownAssembly", null) - .WithMany("UnknownAssemblyParts") - .HasForeignKey("UnknownAssemblyId"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.BillSortCfg", b => - { - b.HasOne("WY.NewJit.MsgConversion.MessageVersionCfg", null) - .WithMany("Details") - .HasForeignKey("MessageVersionCfgId"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => - { - b.Navigation("Actions"); - - b.Navigation("EntityChanges"); - }); - - modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => - { - b.Navigation("PropertyChanges"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => - { - b.Navigation("Claims"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => - { - b.Navigation("Claims"); - - b.Navigation("Logins"); - - b.Navigation("OrganizationUnits"); - - b.Navigation("Roles"); - - b.Navigation("Tokens"); - }); - - modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => - { - b.Navigation("Roles"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiResources.ApiResource", b => - { - b.Navigation("Properties"); - - b.Navigation("Scopes"); - - b.Navigation("Secrets"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.ApiScopes.ApiScope", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.Clients.Client", b => - { - b.Navigation("AllowedCorsOrigins"); - - b.Navigation("AllowedGrantTypes"); - - b.Navigation("AllowedScopes"); - - b.Navigation("Claims"); - - b.Navigation("ClientSecrets"); - - b.Navigation("IdentityProviderRestrictions"); - - b.Navigation("PostLogoutRedirectUris"); - - b.Navigation("Properties"); - - b.Navigation("RedirectUris"); - }); - - modelBuilder.Entity("Volo.Abp.IdentityServer.IdentityResources.IdentityResource", b => - { - b.Navigation("Properties"); - - b.Navigation("UserClaims"); - }); - - modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => - { - b.Navigation("ConnectionStrings"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgErp", b => - { - b.Navigation("Details"); - }); - - modelBuilder.Entity("WY.NewJit.MsgBaseData.AssemblyCfgVehicle", b => - { - b.Navigation("AssemblyCfgVehicleChilds"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM100", b => - { - b.Navigation("BillM100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillM110", b => - { - b.Navigation("BillM110Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.BillR100", b => - { - b.Navigation("BillR100Parts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM100", b => - { - b.Navigation("M100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatM110", b => - { - b.Navigation("M110RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.RepeatR100", b => - { - b.Navigation("R100RepeatParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgCheck.UnknownAssembly", b => - { - b.Navigation("UnknownAssemblyParts"); - }); - - modelBuilder.Entity("WY.NewJit.MsgConversion.MessageVersionCfg", b => - { - b.Navigation("Details"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/WY.NewJit.EntityFrameworkCore.DbMigrations.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/WY.NewJit.EntityFrameworkCore.DbMigrations.csproj deleted file mode 100644 index c60b9599..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore.DbMigrations/WY.NewJit.EntityFrameworkCore.DbMigrations.csproj +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - net5.0 - WY.NewJit - - - - - - - - - runtime; build; native; contentfiles; analyzers - compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/ISettleAccountDbContext.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/ISettleAccountDbContext.cs deleted file mode 100644 index a12e997f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/ISettleAccountDbContext.cs +++ /dev/null @@ -1,13 +0,0 @@ -using Volo.Abp.Data; -using Volo.Abp.EntityFrameworkCore; - -namespace WY.NewJit.EntityFrameworkCore -{ - [ConnectionStringName("SettleAccountService")] - public interface ISettleAccountDbContext : IEfCoreDbContext - { - /* Add DbSet for each Aggregate Root here. Example: - * DbSet Questions { get; } - */ - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDapperRepository.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDapperRepository.cs deleted file mode 100644 index b1a7ec3b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDapperRepository.cs +++ /dev/null @@ -1,124 +0,0 @@ -using Dapper; -using System; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories.Dapper; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.IRepositories; - -namespace WY.NewJit.EntityFrameworkCore -{ - public class NewJitDapperRepository : DapperRepository, INewJitDapperRepository //IDapperRepository - { - public NewJitDapperRepository(IDbContextProvider dbContextProvider) - : base(dbContextProvider) - { - } - - public virtual async Task> GetListBySqlAsync(string sql, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = await GetDbConnectionAsync(); - IDbTransaction trans = await GetDbTransactionAsync(); - return (await conn.QueryAsync(sql, null, trans)) - .ToList(); - } - else - { - IDbConnection conn = await GetDbConnectionAsync(); - return (await conn.QueryAsync(sql)) - .ToList(); - } - } - - public virtual async Task GetSingleBySqlAsync(string sql, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = await GetDbConnectionAsync(); - IDbTransaction trans = await GetDbTransactionAsync(); - return await conn.QuerySingleOrDefaultAsync(sql, null, trans); - } - else - { - IDbConnection conn = await GetDbConnectionAsync(); - return await conn.QuerySingleOrDefaultAsync(sql); - } - } - - - public virtual async Task ExecuteSqlAsync(string sql, object obj = null, bool isTrans = false) - { - if (isTrans) - { - //return await DbConnection.ExecuteAsync("update People set Name = @NewName", new { NewName = name }, DbTransaction); - IDbConnection conn = await GetDbConnectionAsync(); - IDbTransaction trans = await GetDbTransactionAsync(); - return await conn.ExecuteAsync(sql, obj, trans); - } - else - { - //return await DbConnection.ExecuteAsync("update People set Name = @NewName", new { NewName = name }, DbTransaction); - IDbConnection conn = await GetDbConnectionAsync(); - return await conn.ExecuteAsync(sql, obj); - } - } - - - #region 同步方法 - public virtual List GetListBySql(string sql, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = GetDbConnectionAsync().GetAwaiter().GetResult(); - IDbTransaction trans = GetDbTransactionAsync().GetAwaiter().GetResult(); - return (conn.Query(sql, null, trans)) - .ToList(); - } - else - { - IDbConnection conn = (IDbConnection)GetDbConnectionAsync().GetAwaiter().GetResult(); - return (conn.Query(sql)) - .ToList(); - } - } - - public virtual T GetSingleBySql(string sql, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = GetDbConnectionAsync().GetAwaiter().GetResult(); - IDbTransaction trans = GetDbTransactionAsync().GetAwaiter().GetResult(); - return conn.QuerySingleOrDefault(sql, null, trans); - } - else - { - IDbConnection conn = (IDbConnection)GetDbConnectionAsync().GetAwaiter().GetResult(); - return conn.QuerySingleOrDefault(sql); - } - } - - - public virtual int ExecuteSql(string sql, object obj = null, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = GetDbConnectionAsync().GetAwaiter().GetResult(); - IDbTransaction trans = GetDbTransactionAsync().GetAwaiter().GetResult(); - return conn.Execute(sql, obj, trans); - } - else - { - IDbConnection conn = (IDbConnection)GetDbConnectionAsync().GetAwaiter().GetResult(); - return conn.Execute(sql, obj); - } - } - - #endregion - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContext.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContext.cs deleted file mode 100644 index 5379d83b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContext.cs +++ /dev/null @@ -1,117 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using WY.NewJit.Users; -using Volo.Abp.Data; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore.Modeling; -using Volo.Abp.Identity; -using Volo.Abp.Users.EntityFrameworkCore; -using WY.NewJit.Books; -using WY.NewJit.MsgBaseData; -using WY.NewJit.MsgCheck; -using WY.NewJit.MsgConversion; -using WY.NewJit.MsgTransmission; -using WY.NewJit.TianHe; - -namespace WY.NewJit.EntityFrameworkCore -{ - /* This is your actual DbContext used on runtime. - * It includes only your entities. - * It does not include entities of the used modules, because each module has already - * its own DbContext class. If you want to share some database tables with the used modules, - * just create a structure like done for AppUser. - * - * Don't use this DbContext for database migrations since it does not contain tables of the - * used modules (as explained above). See NewJitMigrationsDbContext for migrations. - */ - [ConnectionStringName("Default")] - public class NewJitDbContext : AbpDbContext - { - public DbSet Users { get; set; } - public DbSet Books { get; set; } - - #region 基础数据 - public DbSet AssemblyCfgVehicles { get; set; } - - public DbSet AssemblyCfgVehicleChilds { get; set; } - public DbSet AssemblyCfgParts { get; set; } - public DbSet AssemblyCfgProducts { get; set; } - public DbSet DicTypes { get; set; } - public DbSet DicItems { get; set; } - public DbSet ExcludePartCfgs { get; set; } - public DbSet LogReminds { get; set; } - public DbSet PartCfgs { get; set; } - - public DbSet PartSwitchs { get; set; } - - - #endregion - - #region 报文解析及校验 - public DbSet BillM100s { get; set; } - public DbSet BillM100Parts { get; set; } - public DbSet BillM110s { get; set; } - public DbSet BillM110Parts { get; set; } - public DbSet BillR100s { get; set; } - public DbSet BillR100Parts { get; set; } - public DbSet RepeatM100s { get; set; } - public DbSet RepeatM100Parts { get; set; } - public DbSet RepeatM110s { get; set; } - public DbSet RepeatM110Parts { get; set; } - public DbSet RepeatR100s { get; set; } - public DbSet RepeatR100Parts { get; set; } - public DbSet UnknownAssemblys { get; set; } - public DbSet UnknownAssemblyParts { get; set; } - - #endregion - - #region 报文转换 - - public DbSet MessageVersionCfgs { get; set; } - - public DbSet BillSortCfgs { get; set; } - - #endregion - - #region 报文传输 - public DbSet MessageReceives { get; set; } - public DbSet TransmissionModeCfgs { get; set; } - - #endregion - - #region 天合 - //public DbSet productdataA { get; set; } - - public DbSet notMatchTempBill { get; set; } - - #endregion - - - /* Add DbSet properties for your Aggregate Roots / Entities here. - * Also map them inside NewJitDbContextModelCreatingExtensions.ConfigureNewJit - */ - - public NewJitDbContext(DbContextOptions options) - : base(options) - { - - } - - protected override void OnModelCreating(ModelBuilder builder) - { - base.OnModelCreating(builder); - - //在这里配置共享表 - - builder.Entity(b => - { - b.ToTable(AbpIdentityDbProperties.DbTablePrefix + "Users"); //Sharing the same table "AbpUsers" with the IdentityUser - - b.ConfigureByConvention(); - b.ConfigureAbpUser(); - }); - - //在ConfigureNewJit方法里面配置你自己创建的表或实体 - builder.ConfigureNewJit(); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContextModelCreatingExtensions.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContextModelCreatingExtensions.cs deleted file mode 100644 index 757a9151..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitDbContextModelCreatingExtensions.cs +++ /dev/null @@ -1,202 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Volo.Abp; -using Volo.Abp.EntityFrameworkCore.Modeling; -using WY.NewJit.Books; -using WY.NewJit.MsgBaseData; -using WY.NewJit.MsgCheck; -using WY.NewJit.MsgConversion; -using WY.NewJit.MsgTransmission; -using WY.NewJit.TianHe; - -namespace WY.NewJit.EntityFrameworkCore -{ - public static class NewJitDbContextModelCreatingExtensions - { - public static void ConfigureNewJit(this ModelBuilder builder) - { - Check.NotNull(builder, nameof(builder)); - - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + "Books"); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - b.Property(x => x.Name).IsRequired().HasMaxLength(100); - }); - - #region 基础数据 - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(AssemblyCfgVehicle)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(AssemblyCfgVehicleChild)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(AssemblyCfgPart)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(AssemblyCfgErp)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(DicType)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(DicItem)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(ExcludePartCfg)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(LogRemind)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(PartCfg)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(PartSwitch)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - - - #endregion - - #region 报文解析及校验 - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(BillM100)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(BillM100Part)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(BillM110)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(BillM110Part)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(BillR100)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(BillR100Part)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(RepeatM100)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(RepeatM100Part)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(RepeatM110)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(RepeatM110Part)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(RepeatR100)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(RepeatR100Part)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(UnknownAssembly)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(UnknownAssemblyPart)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - - #endregion - - #region 报文转换 - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(MessageVersionCfg)); //将Book实体映射到数据库表XXXBooks - - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - - - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(BillSortCfg)); //将Book实体映射到数据库表XXXBooks - - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - - #endregion - - #region 报文传输 - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(MessageReceive)); //将Book实体映射到数据库表XXXBooks - - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(TransmissionModeCfg)); //将Book实体映射到数据库表XXXBooks - - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - - #endregion - - #region 天合 - builder.Entity(b => - { - b.ToTable(NewJitConsts.DbTablePrefix + nameof(NotMatchTempBill)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - - #endregion - - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEfCoreEntityExtensionMappings.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEfCoreEntityExtensionMappings.cs deleted file mode 100644 index df46ead8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEfCoreEntityExtensionMappings.cs +++ /dev/null @@ -1,45 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Volo.Abp.Identity; -using Volo.Abp.ObjectExtending; -using Volo.Abp.Threading; - -namespace WY.NewJit.EntityFrameworkCore -{ - public static class NewJitEfCoreEntityExtensionMappings - { - private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); - - public static void Configure() - { - NewJitGlobalFeatureConfigurator.Configure(); - NewJitModuleExtensionConfigurator.Configure(); - - OneTimeRunner.Run(() => - { - /* You can configure extra properties for the - * entities defined in the modules used by your application. - * - * This class can be used to map these extra properties to table fields in the database. - * - * USE THIS CLASS ONLY TO CONFIGURE EF CORE RELATED MAPPING. - * USE NewJitModuleExtensionConfigurator CLASS (in the Domain.Shared project) - * FOR A HIGH LEVEL API TO DEFINE EXTRA PROPERTIES TO ENTITIES OF THE USED MODULES - * - * Example: Map a property to a table field: - - ObjectExtensionManager.Instance - .MapEfCoreProperty( - "MyProperty", - (entityBuilder, propertyBuilder) => - { - propertyBuilder.HasMaxLength(128); - } - ); - - * See the documentation for more: - * https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Extending-Entities - */ - }); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEntityFrameworkCoreModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEntityFrameworkCoreModule.cs deleted file mode 100644 index 907888b5..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/NewJitEntityFrameworkCoreModule.cs +++ /dev/null @@ -1,89 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.AuditLogging.EntityFrameworkCore; -using Volo.Abp.BackgroundJobs.EntityFrameworkCore; -using Volo.Abp.Dapper; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore.DependencyInjection; -using Volo.Abp.EntityFrameworkCore.SqlServer; -using Volo.Abp.FeatureManagement.EntityFrameworkCore; -using Volo.Abp.Identity.EntityFrameworkCore; -using Volo.Abp.IdentityServer.EntityFrameworkCore; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement.EntityFrameworkCore; -using Volo.Abp.SettingManagement.EntityFrameworkCore; -using Volo.Abp.TenantManagement.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore.TianHe; -using WY.NewJit.MsgBaseData; -using WY.NewJit.MsgCheck; -using WY.NewJit.MsgConversion; - -namespace WY.NewJit.EntityFrameworkCore -{ - [DependsOn( - typeof(NewJitDomainModule), - typeof(AbpIdentityEntityFrameworkCoreModule), - typeof(AbpIdentityServerEntityFrameworkCoreModule), - typeof(AbpPermissionManagementEntityFrameworkCoreModule), - typeof(AbpSettingManagementEntityFrameworkCoreModule), - typeof(AbpEntityFrameworkCoreSqlServerModule), - typeof(AbpBackgroundJobsEntityFrameworkCoreModule), - typeof(AbpAuditLoggingEntityFrameworkCoreModule), - typeof(AbpTenantManagementEntityFrameworkCoreModule), - typeof(AbpFeatureManagementEntityFrameworkCoreModule), - typeof(AbpDapperModule) - )] - public class NewJitEntityFrameworkCoreModule : AbpModule - { - public override void PreConfigureServices(ServiceConfigurationContext context) - { - NewJitEfCoreEntityExtensionMappings.Configure(); - } - - public override void ConfigureServices(ServiceConfigurationContext context) - { - context.Services.AddAbpDbContext(options => - { - //默认情况下为每个聚合根实体(AggregateRoot派生的子类)创建一个仓储. 如果想要为其他实体也创建仓储 请将includeAllEntities 设置为 true: - options.AddDefaultRepositories(includeAllEntities: true); - }); - //注册天合数据仓库 - context.Services.AddAbpDbContext(options => - { - //默认情况下为每个聚合根实体(AggregateRoot派生的子类)创建一个仓储. 如果想要为其他实体也创建仓储 请将includeAllEntities 设置为 true: - options.AddDefaultRepositories(includeAllEntities: true); - }); - - Configure(options => - { - /* The main point to change your DBMS. - * See also NewJitMigrationsDbContextFactory for EF Core tooling. */ - options.UseSqlServer(); - }); - - Configure(options => - { - #region 加载实体子集数据 - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.BillM100Parts); }); - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.BillM110Parts); }); - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.BillR100Parts); }); - - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.M100RepeatParts); }); - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.M110RepeatParts); }); - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.R100RepeatParts); }); - - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.UnknownAssemblyParts); }); - - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details); }); - //配置后可以加载复合实体中的子实体 - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.Details); }); - - options.Entity(orderOptions => { orderOptions.DefaultWithDetailsFunc = query => query.Include(o => o.AssemblyCfgVehicleChilds); }); - - #endregion - }); - - - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContext.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContext.cs deleted file mode 100644 index 9b651227..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContext.cs +++ /dev/null @@ -1,28 +0,0 @@ -using Microsoft.EntityFrameworkCore; - -using Volo.Abp.Data; -using Volo.Abp.EntityFrameworkCore; - -namespace WY.NewJit.EntityFrameworkCore -{ - [ConnectionStringName("SettleAccountService")] - public class SettleAccountDbContext : AbpDbContext, ISettleAccountDbContext - { - /* Add DbSet for each Aggregate Root here. Example: - * public DbSet Questions { get; set; } - */ - - public SettleAccountDbContext(DbContextOptions options) - : base(options) - { - - } - - protected override void OnModelCreating(ModelBuilder builder) - { - base.OnModelCreating(builder); - - builder.ConfigureSettleAccount(); - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs deleted file mode 100644 index 13172155..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountDbContextModelCreatingExtensions.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore; -using Volo.Abp; -using Volo.Abp.EntityFrameworkCore.Modeling; -using WY.NewJit.SettleAccountFis; - -namespace WY.NewJit.EntityFrameworkCore -{ - public static class SettleAccountDbContextModelCreatingExtensions - { - public const string IsDeletedFilter = "IsDeleted=0"; - - public static void ConfigureSettleAccount( - this ModelBuilder builder, - Action optionsAction = null) - { - Check.NotNull(builder, nameof(builder)); - - var options = new SettleAccountModelBuilderConfigurationOptions( - "Set" - - ); - - // optionsAction?.Invoke(options); - - - builder.ConfigureFISVersion(options); - builder.ConfigureFIS_TH(options); - - - } - - - private static void ConfigureFISVersion(this ModelBuilder builder, SettleAccountModelBuilderConfigurationOptions options) - { - - builder.Entity(b => - { - b.ToTable($"{options.TablePrefix}_fis_version", options.Schema); - b.ConfigureByConvention(); - - b.Property(x => x.Year).IsRequired().HasMaxLength(50); - b.Property(x => x.Period).IsRequired().HasMaxLength(50); - b.Property(x => x.Version).IsRequired().HasMaxLength(50); - b.Property(x => x.CustomerCode).HasMaxLength(50); - }); - } - - private static void ConfigureFIS_TH(this ModelBuilder builder, SettleAccountModelBuilderConfigurationOptions options) - { - builder.Entity(b => - { - b.ToTable($"{options.TablePrefix}_fis_th", options.Schema); - b.ConfigureByConvention(); - - b.Property(x => x.Version).IsRequired().HasMaxLength(50); - b.Property(x => x.Year).HasMaxLength(50); - b.Property(x => x.Period).HasMaxLength(50); - - b.Property(x => x.ChassisNumber).IsRequired().HasMaxLength(50); - b.Property(x => x.OrderBillNum).IsRequired().HasMaxLength(50); - b.Property(x => x.MaterialCode).IsRequired().HasMaxLength(50); - b.Property(x => x.ErpMaterialCode).IsRequired().HasMaxLength(50); - b.Property(x => x.Period).IsRequired().HasMaxLength(50); - b.Property(x => x.Qty).IsRequired(); - b.HasIndex(x => new { x.ChassisNumber2, x.Version, x.Model, x.MaterialCode }).IsUnique(); - - - }); - } - - - - - - - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountModelBuilderConfigurationOptions.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountModelBuilderConfigurationOptions.cs deleted file mode 100644 index f96e5166..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleAccountModelBuilderConfigurationOptions.cs +++ /dev/null @@ -1,18 +0,0 @@ -using JetBrains.Annotations; -using Volo.Abp.EntityFrameworkCore.Modeling; - -namespace WY.NewJit.EntityFrameworkCore -{ - public class SettleAccountModelBuilderConfigurationOptions : AbpModelBuilderConfigurationOptions - { - public SettleAccountModelBuilderConfigurationOptions( - [NotNull] string tablePrefix = "", - [CanBeNull] string schema = null) - : base( - tablePrefix, - schema) - { - - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISRepository.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISRepository.cs deleted file mode 100644 index dfb3082b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISRepository.cs +++ /dev/null @@ -1,69 +0,0 @@ -using EFCore.BulkExtensions; -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore; - -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.SettleAccountFis; - -namespace Win.Sfs.SettleAccount.Repository.SettleAccount -{ - //public class FISRepository: EfCoreRepository, ITransientDependency - //{ - // public FISRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) - // { - - // } - // public virtual bool Delete(string version) - // { - // try - // { - // DbContext.Database.SetCommandTimeout(1200); - // var _detailQuery = DbSet.Where(p => p.Version == version); - // _detailQuery.BatchDelete(); - // } - // catch (Exception e) - // { - // throw e; - // } - // return true; - // } - - // public virtual bool Insert(List list) - // { - // try - // { - // DbContext.Database.SetCommandTimeout(1200); - // List _insertls = new List(); - // if (list.Count > 0) - // { - // var _version = list.FirstOrDefault().Version; - // var _ls = GetQueryable().Where(p => p.Version == _version).Select(p => new { MaterialCode = p.MaterialCode, ChassisNumber = p.ChassisNumber }).ToList(); - // var _query = from r1 in list - // join r2 in _ls on new { r1.ChassisNumber, r1.MaterialCode } equals new { r2.ChassisNumber, r2.MaterialCode } - // into temp - // from t in temp.DefaultIfEmpty() - // where t == null - // select r1; - // foreach (var s in _query.ToList()) - // { - // _insertls.Add(s); - // } - // } - // DbContext.BulkInsert(_insertls); - // } - // catch (Exception e) - // { - // throw e; - // } - // return true; - // } - //} -} - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISVersionRepository.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISVersionRepository.cs deleted file mode 100644 index 6aa05b18..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/SettleFis/FISVersionRepository.cs +++ /dev/null @@ -1,60 +0,0 @@ -using EFCore.BulkExtensions; -using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore; - -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.SettleAccountFis; - -namespace Win.Sfs.SettleAccount.Repository.SettleAccount -{ - //public class FISVersionRepository: EfCoreRepository, ITransientDependency - //{ - // public FISVersionRepository(IDbContextProvider dbContextProvider) : base(dbContextProvider) - // { - - // } - // public virtual bool Delete(string version) - // { - // try - // { - // DbContext.Database.SetCommandTimeout(1200); - // var _detailQuery = DbSet.Where(p => p.Version == version); - // _detailQuery.BatchDelete(); - // } - // catch (Exception e) - // { - // throw e; - // } - // return true; - // } - - // public virtual bool Insert(string p_version, string p_customCode, string p_factory,string model,DateTime begin,DateTime end) - // { - // try - // { - // DbContext.Database.SetCommandTimeout(1200); - // var _first = GetQueryable().FirstOrDefault(p => p.Version == p_version); - // if (_first == null) - // { - // var version = new FISVersionEto(GuidGenerator.Create(), DateTime.Now.Year.ToString(), DateTime.Now.Month.ToString(), p_version, p_customCode,p_factory,model,begin,end); - // List _ls = new List(); - // _ls.Add(version); - // DbContext.BulkInsert(_ls); - // } - // } - // catch (Exception e) - // { - // throw e; - // } - // return true; - // } - //} -} - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDapperRepository.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDapperRepository.cs deleted file mode 100644 index 120eb0d3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDapperRepository.cs +++ /dev/null @@ -1,125 +0,0 @@ -using Dapper; -using System; -using System.Collections.Generic; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.DependencyInjection; -using Volo.Abp.Domain.Repositories.Dapper; -using Volo.Abp.EntityFrameworkCore; -using WY.NewJit.EntityFrameworkCore.TianHe; -using WY.NewJit.IRepositories; - -namespace WY.NewJit.EntityFrameworkCore -{ - public class TianHeDapperRepository : DapperRepository, ITransientDependency - { - public TianHeDapperRepository(IDbContextProvider dbContextProvider) - : base(dbContextProvider) - { - } - - public virtual async Task> GetListBySqlAsync(string sql, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = await GetDbConnectionAsync(); - IDbTransaction trans = await GetDbTransactionAsync(); - return (await conn.QueryAsync(sql, null, trans)) - .ToList(); - } - else - { - IDbConnection conn = await GetDbConnectionAsync(); - return (await conn.QueryAsync(sql)) - .ToList(); - } - } - - public virtual async Task GetSingleBySqlAsync(string sql, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = await GetDbConnectionAsync(); - IDbTransaction trans = await GetDbTransactionAsync(); - return await conn.QuerySingleOrDefaultAsync(sql, null, trans); - } - else - { - IDbConnection conn = await GetDbConnectionAsync(); - return await conn.QuerySingleOrDefaultAsync(sql); - } - } - - - public virtual async Task ExecuteSqlAsync(string sql, object obj = null, bool isTrans = false) - { - if (isTrans) - { - //return await DbConnection.ExecuteAsync("update People set Name = @NewName", new { NewName = name }, DbTransaction); - IDbConnection conn = await GetDbConnectionAsync(); - IDbTransaction trans = await GetDbTransactionAsync(); - return await conn.ExecuteAsync(sql, obj, trans); - } - else - { - //return await DbConnection.ExecuteAsync("update People set Name = @NewName", new { NewName = name }, DbTransaction); - IDbConnection conn = await GetDbConnectionAsync(); - return await conn.ExecuteAsync(sql, obj); - } - } - - - #region 同步方法 - public virtual List GetListBySql(string sql, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = GetDbConnectionAsync().GetAwaiter().GetResult(); - IDbTransaction trans = GetDbTransactionAsync().GetAwaiter().GetResult(); - return (conn.Query(sql, null, trans)) - .ToList(); - } - else - { - IDbConnection conn = (IDbConnection)GetDbConnectionAsync().GetAwaiter().GetResult(); - return (conn.Query(sql)) - .ToList(); - } - } - - public virtual T GetSingleBySql(string sql, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = GetDbConnectionAsync().GetAwaiter().GetResult(); - IDbTransaction trans = GetDbTransactionAsync().GetAwaiter().GetResult(); - return conn.QuerySingleOrDefault(sql, null, trans); - } - else - { - IDbConnection conn = (IDbConnection)GetDbConnectionAsync().GetAwaiter().GetResult(); - return conn.QuerySingleOrDefault(sql); - } - } - - - public virtual int ExecuteSql(string sql, object obj = null, bool isTrans = false) - { - if (isTrans) - { - IDbConnection conn = GetDbConnectionAsync().GetAwaiter().GetResult(); - IDbTransaction trans = GetDbTransactionAsync().GetAwaiter().GetResult(); - return conn.Execute(sql, obj, trans); - } - else - { - IDbConnection conn = (IDbConnection)GetDbConnectionAsync().GetAwaiter().GetResult(); - return conn.Execute(sql, obj); - } - } - - #endregion - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDbContext.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDbContext.cs deleted file mode 100644 index 4bdd5183..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/EntityFrameworkCore/TianHe/TianHeDbContext.cs +++ /dev/null @@ -1,53 +0,0 @@ -using Microsoft.EntityFrameworkCore; -using WY.NewJit.Users; -using Volo.Abp.Data; -using Volo.Abp.EntityFrameworkCore; -using Volo.Abp.EntityFrameworkCore.Modeling; -using Volo.Abp.Identity; -using Volo.Abp.Users.EntityFrameworkCore; -using WY.NewJit.Books; -using WY.NewJit.MsgBaseData; -using WY.NewJit.MsgCheck; -using WY.NewJit.MsgConversion; -using WY.NewJit.MsgTransmission; -using WY.NewJit.TianHe; - -namespace WY.NewJit.EntityFrameworkCore.TianHe -{ - - [ConnectionStringName("TianHe")] - public class TianHeDbContext : AbpDbContext - { - #region 天合 - public DbSet productdataA { get; set; } - #endregion - - - /* Add DbSet properties for your Aggregate Roots / Entities here. - * Also map them inside NewJitDbContextModelCreatingExtensions.ConfigureNewJit - */ - - public TianHeDbContext(DbContextOptions options) - : base(options) - { - - } - - protected override void OnModelCreating(ModelBuilder builder) - { - base.OnModelCreating(builder); - - //在这里配置共享表 - - builder.Entity(b => - { - //b.HasKey(k => { k.cCarNo, k.cPartNo}); - b.ToTable(nameof(productdata_A)); //将Book实体映射到数据库表XXXBooks - b.ConfigureByConvention();//配置/映射继承的属性,应始终对你所有的实体使用它 - }); - - - - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Properties/AssemblyInfo.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Properties/AssemblyInfo.cs deleted file mode 100644 index c70ad1f0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,2 +0,0 @@ -using System.Runtime.CompilerServices; -[assembly:InternalsVisibleToAttribute("WY.NewJit.EntityFrameworkCore.Tests")] diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/WY.NewJit.EntityFrameworkCore.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/WY.NewJit.EntityFrameworkCore.csproj deleted file mode 100644 index 81899b94..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.EntityFrameworkCore/WY.NewJit.EntityFrameworkCore.csproj +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - net5.0 - WY.NewJit - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi.Client/NewJitHttpApiClientModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi.Client/NewJitHttpApiClientModule.cs deleted file mode 100644 index 866612a6..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi.Client/NewJitHttpApiClientModule.cs +++ /dev/null @@ -1,33 +0,0 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.Account; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement; -using Volo.Abp.TenantManagement; -using Volo.Abp.SettingManagement; - -namespace WY.NewJit -{ - [DependsOn( - typeof(NewJitApplicationContractsModule), - typeof(AbpAccountHttpApiClientModule), - typeof(AbpIdentityHttpApiClientModule), - typeof(AbpPermissionManagementHttpApiClientModule), - typeof(AbpTenantManagementHttpApiClientModule), - typeof(AbpFeatureManagementHttpApiClientModule), - typeof(AbpSettingManagementHttpApiClientModule) - )] - public class NewJitHttpApiClientModule : AbpModule - { - public const string RemoteServiceName = "Default"; - - public override void ConfigureServices(ServiceConfigurationContext context) - { - context.Services.AddHttpClientProxies( - typeof(NewJitApplicationContractsModule).Assembly, - RemoteServiceName - ); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi.Client/WY.NewJit.HttpApi.Client.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi.Client/WY.NewJit.HttpApi.Client.csproj deleted file mode 100644 index 07e4181b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi.Client/WY.NewJit.HttpApi.Client.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - netstandard2.0 - WY.NewJit - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Controllers/BlobFileController.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Controllers/BlobFileController.cs deleted file mode 100644 index caccfb27..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Controllers/BlobFileController.cs +++ /dev/null @@ -1,36 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Volo.Abp.BlobStoring; -using WY.NewJit.Common; - -namespace WY.NewJit.Controllers -{ - [Area("newjit")] - [Route("api/newjit/exclude-part-cfg")] - public class BlobFileController: NewJitController - { - private readonly IBlobContainer _fileContainer; - - public BlobFileController(IBlobContainer fileContainer) - { - _fileContainer = fileContainer; - } - /// - /// 获取二进制文件 - /// - /// 文件名 - /// - [HttpGet] - [Route("download/{fileName}")] - [ApiExplorerSettings(GroupName = SwaggerGroupConsts.默认)] - public async Task DownloadAsync(string fileName) - { - byte[] fileContent = await _fileContainer.GetAllBytesAsync(fileName); - return File(fileContent, "application/octet-stream", fileName); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Controllers/NewJitController.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Controllers/NewJitController.cs deleted file mode 100644 index fca5df43..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Controllers/NewJitController.cs +++ /dev/null @@ -1,15 +0,0 @@ -using WY.NewJit.Localization; -using Volo.Abp.AspNetCore.Mvc; - -namespace WY.NewJit.Controllers -{ - /* Inherit your controllers from this class. - */ - public abstract class NewJitController : AbpController - { - protected NewJitController() - { - LocalizationResource = typeof(NewJitResource); - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Models/Test/TestModel.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Models/Test/TestModel.cs deleted file mode 100644 index f3f36beb..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/Models/Test/TestModel.cs +++ /dev/null @@ -1,11 +0,0 @@ -using System; - -namespace WY.NewJit.Models.Test -{ - public class TestModel - { - public string Name { get; set; } - - public DateTime BirthDate { get; set; } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/NewJitHttpApiModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/NewJitHttpApiModule.cs deleted file mode 100644 index 6a53a616..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/NewJitHttpApiModule.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Localization.Resources.AbpUi; -using WY.NewJit.Localization; -using Volo.Abp.Account; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity; -using Volo.Abp.Localization; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement.HttpApi; -using Volo.Abp.SettingManagement; -using Volo.Abp.TenantManagement; - -namespace WY.NewJit -{ - [DependsOn( - typeof(NewJitApplicationContractsModule), - typeof(AbpAccountHttpApiModule), - typeof(AbpIdentityHttpApiModule), - typeof(AbpPermissionManagementHttpApiModule), - typeof(AbpTenantManagementHttpApiModule), - typeof(AbpFeatureManagementHttpApiModule), - typeof(AbpSettingManagementHttpApiModule) - )] - public class NewJitHttpApiModule : AbpModule - { - public override void ConfigureServices(ServiceConfigurationContext context) - { - ConfigureLocalization(); - } - - private void ConfigureLocalization() - { - Configure(options => - { - options.Resources - .Get() - .AddBaseTypes( - typeof(AbpUiResource) - ); - }); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/WY.NewJit.HttpApi.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/WY.NewJit.HttpApi.csproj deleted file mode 100644 index bc5178ce..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.HttpApi/WY.NewJit.HttpApi.csproj +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - net5.0 - WY.NewJit - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Components/_ViewImports.cshtml b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Components/_ViewImports.cshtml deleted file mode 100644 index c1da1f5f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Components/_ViewImports.cshtml +++ /dev/null @@ -1,4 +0,0 @@ -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/JIS_BAK/JIT2.T105631 b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/JIS_BAK/JIT2.T105631 deleted file mode 100644 index ebb894fb..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/JIS_BAK/JIT2.T105631 +++ /dev/null @@ -1 +0,0 @@ -UNB+UNOA:1+O0013000001VW KAO+O79FAW-VW7XH+210903:1058+003105841384'UNH+1+DELJIT:D:95B:UN'BGM+30::10+000001'DTM+137:202109031058:203'NAD+BY+VW::92'NAD+CN+79'NAD+CZ+081'SEQ+3+071041'DTM+194:202109031058:203'GIR+ADD+003105841384:SSR+ :SVS'GIR+4+LFV3A28W7M3662153:VV+2125483338:AN+2186L:TMA'LOC+54+M100'LIN+++ 8WD 959 521 B 6PS :IN'QTY+131:1:PCE'LIN+++ 8WD 035 435 4PK :IN'QTY+131:1:PCE'LIN+++ 8WD 035 436 4PK :IN'QTY+131:1:PCE'LIN+++ 8WD 959 527 6PS :IN'QTY+131:1:PCE'LIN+++ 8WD 959 528 6PS :IN'QTY+131:1:PCE'LIN+++ 8WD 867 011 24A :IN'QTY+131:1:PCE'LIN+++ 8WD 867 012 24A :IN'QTY+131:1:PCE'LIN+++ 8WD 899 6XC B 6PS :IN'QTY+131:1:PCE'LIN+++ 8WD 899 6XC C 6PS :IN'QTY+131:1:PCE'LIN+++ 8WD 899 6XC D 6PS :IN'QTY+131:1:PCE'LIN+++ 8WD 899 6XE A 6PS :IN'QTY+131:1:PCE'LIN+++ 8WD 867 211 24A :IN'QTY+131:1:PCE'LIN+++ 8WD 867 212 24A :IN'QTY+131:1:PCE'LIN+++ 8W0 971 035 R :IN'QTY+131:1:PCE'LIN+++ 8WD 899 7HA E 24A :IN'QTY+131:1:PCE'LIN+++ 8WD 899 7HA F 24A :IN'QTY+131:1:PCE'LIN+++ 8WD 899 7HA G 24A :IN'QTY+131:1:PCE'LIN+++ 8WD 899 7HA H 24A :IN'QTY+131:1:PCE'LIN+++ 8WD 971 693 B :IN'QTY+131:2:PCE'LIN+++ 8WD 899 QQ1 A :IN'QTY+131:1:PCE'LIN+++ 8WD 899 QQ1 B :IN'QTY+131:1:PCE'LIN+++ 8WD 899 QQ1 C :IN'QTY+131:1:PCE'LIN+++ 8WD 899 QQ1 D :IN'QTY+131:1:PCE'LIN+++ 8WD 959 522 C 6PS :IN'QTY+131:1:PCE'LIN+++ 8WD 899 N5W G 38M :IN'QTY+131:1:PCE'LIN+++ 8WD 899 N5W H 38M :IN'QTY+131:1:PCE'LIN+++ 8WD 899 N5W L 38M :IN'QTY+131:1:PCE'LIN+++ 8WD 899 N5W M 38M :IN'QTY+131:1:PCE'LIN+++ 8W0 971 036 R :IN'QTY+131:1:PCE'UNT+70+1'UNZ+1+003105841384' diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/JIS_BAK/jit2.T105607 b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/JIS_BAK/jit2.T105607 deleted file mode 100644 index a995472b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/JIS_BAK/jit2.T105607 +++ /dev/null @@ -1 +0,0 @@ -UNB+UNOA:1+O0013000001VW KAO+O79FAW-VW7XH+210903:1058+003105817268'UNH+1+DELJIT:D:95B:UN'BGM+SEV::10+000001'DTM+137:202109031058:203'NAD+BY+VW::92'NAD+CN+79'NAD+CZ+081'SEQ+3+041023'DTM+194:202109031058:203'GIR+ADD+003105817268:SSR+ :SVS'GIR+4+LFV3B23H M3 :VV+2102420493:AN+210H9:TMA'LOC+54+R100'LIN+++ 3GG 867 410 F YEB :IN'QTY+131:1:PCE'LIN+++ 3GG 867 419 J YEB :IN'QTY+131:1:PCE'LIN+++ 3GG 971 558 M :IN'QTY+131:1:PCE'LIN+++ 3GG 971 689 K :IN'QTY+131:1:PCE'LIN+++ 3GG 867 420 J YEB :IN'QTY+131:1:PCE'LIN+++ 3GG 971 557 N :IN'QTY+131:1:PCE'LIN+++ 3GG 867 211 A YST :IN'QTY+131:1:PCE'LIN+++ 3ED 959 855 A WZU :IN'QTY+131:3:PCE'LIN+++ 3GG 867 212 A YST :IN'QTY+131:1:PCE'LIN+++ 3GG 867 011 B YST :IN'QTY+131:1:PCE'LIN+++ 3GG 971 690 K :IN'QTY+131:1:PCE'LIN+++ 3GG 867 012 B YST :IN'QTY+131:1:PCE'LIN+++ 3GG 867 409 F YEB :IN'QTY+131:1:PCE'UNT+38+1'UNZ+1+003105817268' diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Menus/NewJitMenuContributor.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Menus/NewJitMenuContributor.cs deleted file mode 100644 index 4577bf32..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Menus/NewJitMenuContributor.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System.Threading.Tasks; -using WY.NewJit.Localization; -using WY.NewJit.MultiTenancy; -using Volo.Abp.Identity.Web.Navigation; -using Volo.Abp.SettingManagement.Web.Navigation; -using Volo.Abp.TenantManagement.Web.Navigation; -using Volo.Abp.UI.Navigation; - -namespace WY.NewJit.Web.Menus -{ - public class NewJitMenuContributor : IMenuContributor - { - public async Task ConfigureMenuAsync(MenuConfigurationContext context) - { - if (context.Menu.Name == StandardMenus.Main) - { - await ConfigureMainMenuAsync(context); - } - } - - private async Task ConfigureMainMenuAsync(MenuConfigurationContext context) - { - var administration = context.Menu.GetAdministration(); - var l = context.GetLocalizer(); - - context.Menu.Items.Insert( - 0, - new ApplicationMenuItem( - NewJitMenus.Home, - l["Menu:Home"], - "~/", - icon: "fas fa-home", - order: 0 - ) - ); - - if (MultiTenancyConsts.IsEnabled) - { - administration.SetSubItemOrder(TenantManagementMenuNames.GroupName, 1); - } - else - { - administration.TryRemoveMenuItem(TenantManagementMenuNames.GroupName); - } - - administration.SetSubItemOrder(IdentityMenuNames.GroupName, 2); - administration.SetSubItemOrder(SettingManagementMenuNames.GroupName, 3); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Menus/NewJitMenus.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Menus/NewJitMenus.cs deleted file mode 100644 index 99f29fbe..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Menus/NewJitMenus.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace WY.NewJit.Web.Menus -{ - public class NewJitMenus - { - private const string Prefix = "NewJit"; - public const string Home = Prefix + ".Home"; - - //Add your menu items here... - - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitBrandingProvider.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitBrandingProvider.cs deleted file mode 100644 index cc3d766c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitBrandingProvider.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Volo.Abp.Ui.Branding; -using Volo.Abp.DependencyInjection; - -namespace WY.NewJit.Web -{ - [Dependency(ReplaceServices = true)] - public class NewJitBrandingProvider : DefaultBrandingProvider - { - public override string AppName => "NewJit"; - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitWebAutoMapperProfile.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitWebAutoMapperProfile.cs deleted file mode 100644 index b7ad5fa2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitWebAutoMapperProfile.cs +++ /dev/null @@ -1,12 +0,0 @@ -using AutoMapper; - -namespace WY.NewJit.Web -{ - public class NewJitWebAutoMapperProfile : Profile - { - public NewJitWebAutoMapperProfile() - { - //Define your AutoMapper configuration here for the Web project. - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitWebModule.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitWebModule.cs deleted file mode 100644 index 4b6a8bd7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/NewJitWebModule.cs +++ /dev/null @@ -1,428 +0,0 @@ -using System; -using System.IO; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; -using WY.NewJit.EntityFrameworkCore; -using WY.NewJit.Localization; -using WY.NewJit.MultiTenancy; -using WY.NewJit.Web.Menus; -using Microsoft.OpenApi.Models; -using Volo.Abp; -using Volo.Abp.Account.Web; -using Volo.Abp.AspNetCore.Authentication.JwtBearer; -using Volo.Abp.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.Localization; -using Volo.Abp.AspNetCore.Mvc.UI; -using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; -using Volo.Abp.AspNetCore.Mvc.UI.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.MultiTenancy; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling; -using Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared; -using Volo.Abp.AspNetCore.Serilog; -using Volo.Abp.Autofac; -using Volo.Abp.AutoMapper; -using Volo.Abp.FeatureManagement; -using Volo.Abp.Identity.Web; -using Volo.Abp.Localization; -using Volo.Abp.Modularity; -using Volo.Abp.PermissionManagement.Web; -using Volo.Abp.SettingManagement.Web; -using Volo.Abp.Swashbuckle; -using Volo.Abp.TenantManagement.Web; -using Volo.Abp.UI.Navigation.Urls; -using Volo.Abp.UI; -using Volo.Abp.UI.Navigation; -using Volo.Abp.VirtualFileSystem; -using System.Linq; -using Microsoft.AspNetCore.Cors; -using Volo.Abp.BlobStoring; -using WY.NewJit.Common; -using Volo.Abp.BlobStoring.FileSystem; -using Microsoft.AspNetCore.Mvc; -using Volo.Abp.AspNetCore.Mvc.AntiForgery; -using System.Text.Json; -using Volo.Abp.AspNetCore.ExceptionHandling; -using Volo.Abp.EventBus.RabbitMq; -using Volo.Abp.RabbitMQ; -using Microsoft.AspNetCore.Mvc.ApiExplorer; -using System.Reflection; -using Swashbuckle.AspNetCore.SwaggerGen; -using Volo.Abp.Json; - -namespace WY.NewJit.Web -{ - [DependsOn( - typeof(NewJitHttpApiModule), - typeof(NewJitApplicationModule), - typeof(NewJitEntityFrameworkCoreDbMigrationsModule), - typeof(AbpAutofacModule), - typeof(AbpIdentityWebModule), - typeof(AbpSettingManagementWebModule), - typeof(AbpAccountWebIdentityServerModule), - typeof(AbpAspNetCoreMvcUiBasicThemeModule), - typeof(AbpAspNetCoreAuthenticationJwtBearerModule), - typeof(AbpTenantManagementWebModule), - typeof(AbpAspNetCoreSerilogModule), - typeof(AbpSwashbuckleModule), - typeof(AbpEventBusRabbitMqModule) - )] - public class NewJitWebModule : AbpModule - { - private const string DefaultCorsPolicyName = "Default"; - public override void PreConfigureServices(ServiceConfigurationContext context) - { - context.Services.PreConfigure(options => - { - options.AddAssemblyResource( - typeof(NewJitResource), - typeof(NewJitDomainModule).Assembly, - typeof(NewJitDomainSharedModule).Assembly, - typeof(NewJitApplicationModule).Assembly, - typeof(NewJitApplicationContractsModule).Assembly, - typeof(NewJitWebModule).Assembly - ); - }); - } - - public override void ConfigureServices(ServiceConfigurationContext context) - { - var hostingEnvironment = context.Services.GetHostingEnvironment(); - var configuration = context.Services.GetConfiguration(); - - Configure(options => - { - options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";//对类型为DateTime的生效 - }); - Configure(options => options.DefaultDateTimeFormat = "yyyy-MM-dd HH:mm:ss");  //对类型为DateTimeOffset生效 - - ConfigureUrls(configuration); - ConfigureBundles(); - //配置认证 - ConfigureAuthentication(context, configuration); - //配置AutoMapper - ConfigureAutoMapper(); - //配置虚拟文件系统 - ConfigureVirtualFileSystem(hostingEnvironment); - //配置本地化 - ConfigureLocalizationServices(); - ConfigureNavigationServices(); - ConfigureAutoApiControllers(); - //配置Swagger - ConfigureSwaggerServices(context.Services); - //配置跨域资源共享 - ConfigureCors(context, configuration);//??跨域 - ConfigureExcelTemplateServices(configuration); - ConfigureJson(context); //DTO的属性首字母保持大写 - //不验证防伪令牌 - context.Services.Configure(options => - { - options.AutoValidate = false; - }); - //配置异常处理 - ConfigureException(); - //配置消息队列 - //ConfigureRibbitMQ();//?? 消息队列暂时屏蔽 - } - - private void ConfigureUrls(IConfiguration configuration) - { - Configure(options => - { - options.Applications["MVC"].RootUrl = configuration["App:SelfUrl"]; - }); - } - - private void ConfigureBundles() - { - Configure(options => - { - options.StyleBundles.Configure( - BasicThemeBundles.Styles.Global, - bundle => - { - bundle.AddFiles("/global-styles.css"); - } - ); - }); - } - - private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) - { - context.Services.AddAuthentication() - .AddJwtBearer(options => - { - options.Authority = configuration["AuthServer:Authority"]; - options.RequireHttpsMetadata = Convert.ToBoolean(configuration["AuthServer:RequireHttpsMetadata"]); - options.Audience = "NewJit"; - }); - } - - private void ConfigureAutoMapper() - { - Configure(options => - { - options.AddMaps(); - }); - } - - private void ConfigureVirtualFileSystem(IWebHostEnvironment hostingEnvironment) - { - if (hostingEnvironment.IsDevelopment()) - { - Configure(options => - { - options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}WY.NewJit.Domain.Shared")); - options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}WY.NewJit.Domain")); - options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}WY.NewJit.Application.Contracts")); - options.FileSets.ReplaceEmbeddedByPhysical(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}WY.NewJit.Application")); - options.FileSets.ReplaceEmbeddedByPhysical(hostingEnvironment.ContentRootPath); - }); - } - } - - private void ConfigureLocalizationServices() - { - Configure(options => - { - options.Languages.Add(new LanguageInfo("ar", "ar", "العربية")); - options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština")); - options.Languages.Add(new LanguageInfo("en", "en", "English")); - options.Languages.Add(new LanguageInfo("en-GB", "en-GB", "English (UK)")); - options.Languages.Add(new LanguageInfo("hu", "hu", "Magyar")); - options.Languages.Add(new LanguageInfo("fr", "fr", "Français")); - options.Languages.Add(new LanguageInfo("pt-BR", "pt-BR", "Português")); - options.Languages.Add(new LanguageInfo("ru", "ru", "Русский")); - options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe")); - options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); - options.Languages.Add(new LanguageInfo("zh-Hant", "zh-Hant", "繁體中文")); - options.Languages.Add(new LanguageInfo("de-DE", "de-DE", "Deutsch", "de")); - options.Languages.Add(new LanguageInfo("es", "es", "Español")); - }); - } - - private void ConfigureNavigationServices() - { - Configure(options => - { - options.MenuContributors.Add(new NewJitMenuContributor()); - }); - } - - private void ConfigureAutoApiControllers() - { - //创建API控制器以将此服务公开为HTTP(REST)API端点. 典型的API控制器除了将方法调用重定向到应用程序服务并使用[HttpGet],[HttpPost],[Route]等属性配置REST API之外什么都不做. - Configure(options => - { - options.ConventionalControllers - .Create(typeof(NewJitApplicationModule).Assembly, opts => - { - opts.RootPath = "newjit"; - }); - }); - } - #region 配置Swagger - private void ConfigureSwaggerServices(IServiceCollection services) - { - services.AddSwaggerGen( - options => - { - //options.SwaggerDoc("v1", new OpenApiInfo { Title = "NewJit API", Version = "v1" }); - //options.DocInclusionPredicate((docName, description) => true); - //options.CustomSchemaIds(type => type.FullName); - - //遍历Swagger分组,注册SwaggerDoc - foreach (var groupName in typeof(SwaggerGroupConsts).GetFields() - .Select(f => f.GetValue(null).ToString())) - { - options.SwaggerDoc(groupName, - new OpenApiInfo { Title = $"{groupName} API", Version = groupName }); - } - - //根据APIExplorerSetting判断是否包含于Swagger文档当前分组 - //options.DocInclusionPredicate((docName, description) => true); - options.DocInclusionPredicate(IsIncludeInDoc); - - //反射注入全部Application和Application.Contract程序集说明 - var xmlapppath = Path.Combine(AppContext.BaseDirectory, "WY.NewJit.Application.xml"); - if (File.Exists(xmlapppath)) - { - options.IncludeXmlComments(xmlapppath); - } - - xmlapppath = Path.Combine(AppContext.BaseDirectory, "WY.NewJit.Application.Contracts.xml"); - if (File.Exists(xmlapppath)) - { - options.IncludeXmlComments(xmlapppath); - } - - options.CustomSchemaIds(type => type.FullName); - } - ); - } - - /// - /// 判断是否应该加入当前分组 - /// - /// - /// - /// - private bool IsIncludeInDoc(string docName, ApiDescription apiDesc) - { - if (!apiDesc.TryGetMethodInfo(out MethodInfo methodInfo)) - { - return false; - } - - var groups = methodInfo.ReflectedType.GetCustomAttributes(true) - .OfType() - .Select(attr => attr.GroupName) - .ToList(); - - if (docName == SwaggerGroupConsts.默认) - { - if (groups.Count == 0) - { - return true; - } - - return apiDesc.GroupName == SwaggerGroupConsts.默认; - } - - return docName == apiDesc.GroupName; - } - #endregion - - public override void OnApplicationInitialization(ApplicationInitializationContext context) - { - var app = context.GetApplicationBuilder(); - var env = context.GetEnvironment(); - - if (env.IsDevelopment()) - { - app.UseDeveloperExceptionPage(); - } - - app.UseAbpRequestLocalization(); - - if (!env.IsDevelopment()) - { - app.UseErrorPage(); - } - - app.UseCorrelationId(); - app.UseStaticFiles(); - app.UseRouting(); - app.UseCors(DefaultCorsPolicyName);//??跨域 - app.UseAuthentication(); - app.UseJwtTokenMiddleware(); - - if (MultiTenancyConsts.IsEnabled) - { - app.UseMultiTenancy(); - } - - app.UseUnitOfWork(); - app.UseIdentityServer(); - app.UseAuthorization(); - app.UseSwagger(); - app.UseAbpSwaggerUI(options => - { - //options.SwaggerEndpoint("/swagger/v1/swagger.json", "NewJit API"); - //遍历Swagger分组,注册SwaggerEndpoint - foreach (var groupName in typeof(SwaggerGroupConsts).GetFields() - .Select(f => f.GetValue(null).ToString())) - { - options.SwaggerEndpoint($"/swagger/{groupName}/swagger.json", $"{groupName} API"); - } - }); - app.UseAuditing(); - app.UseAbpSerilogEnrichers(); - app.UseConfiguredEndpoints(); - } - - private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration) - { - context.Services.AddCors(options => - { - options.AddPolicy(DefaultCorsPolicyName, builder => - { - builder - .WithOrigins( - configuration["App:CorsOrigins"] - .Split(",", StringSplitOptions.RemoveEmptyEntries) - .Select(o => o.RemovePostFix("/")) - .ToArray() - ) - .WithAbpExposedHeaders() - .SetIsOriginAllowedToAllowWildcardSubdomains() - .AllowAnyHeader() - .AllowAnyMethod() - .AllowCredentials(); - }); - }); - } - - /// - /// 模板容器 - /// - /// - private void ConfigureExcelTemplateServices(IConfiguration configPath) - { - Configure(options => - { - options.Containers.Configure(configuration => - { - configuration.UseFileSystem(fileSystem => - { - fileSystem.BasePath = @"c:\NewJit_ExportFile";//测试环境 - }); - }); - }); - } - - /// - /// DTO的属性首字母保持大写 - /// - /// - private static void ConfigureJson(ServiceConfigurationContext context) - { - context.Services.Configure(opt => - { - opt.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; - // opt.JsonSerializerOptions.Converters.Add(new DatetimeJsonConverter()); - }); - } - - /// - /// 配置异常处理 - /// - private void ConfigureException() - { - //将错误明细发送给客户端 - Configure(options => { options.SendExceptionsDetailsToClients = true; }); - } - - #region 配置消息队列 RibbitMQ - //private void ConfigureRibbitMQ() - //{ - // Configure(options => - // { - // options.Connections.Default.UserName = "user1"; - // options.Connections.Default.Password = "123123"; - // options.Connections.Default.HostName = "192.168.0.203"; - // options.Connections.Default.Port = 5672; - // }); - - // Configure(options => - // { - // options.ClientName = "Fis"; - // options.ExchangeName = "TestMessages"; - // }); - //} - #endregion - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.cshtml b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.cshtml deleted file mode 100644 index c7d45c6d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.cshtml +++ /dev/null @@ -1,163 +0,0 @@ -@page -@using Microsoft.AspNetCore.Mvc.Localization -@using WY.NewJit.Localization -@using Volo.Abp.Users -@model WY.NewJit.Web.Pages.IndexModel -@inject IHtmlLocalizer L -@inject ICurrentUser CurrentUser -@section styles { - -} -@section scripts { - -} -
-
- -

Welcome to the Application

- -

@L["LongWelcomeMessage"]

- - @if (!CurrentUser.IsAuthenticated) - { - @L["Login"] - } - -
-
-

Let's improve your application!

-

Here are some links to help you get started:

-
-
-
-
-
-
-
Learn the ABP Framework
-

Explore the compherensive documentation to learn how to build a modern web application.

- See Documents -
-
-
-
-
Samples
-

See the example projects built with the ABP Framework.

- All samples -
-
-
-
-
ABP Community
-

Get involved with a vibrant community and become a contributor.

- Community - Contribute -
-
-
-
-
-
-
ABP Blog
-

Take a look at our recently published articles.

- See Blog -
-
-
-
-
Github
-

Do you love the ABP Framework? Please give a star to support it!

-

- Star - Issue - Fork -

- Request a feature - -
-
-
-
-
Stackoverflow
-

See answers to previously asked questions or ask a new one.

- Questions - Ask a Question -
-
-
-
-
- -
-

Meet the ABP Commercial

-

A Complete Web Application Platform Built on the ABP Framework

-
- -
-
-

- ABP Commercial is a platform based on the open source ABP framework. It provides pre-built application modules, - rapid application development tooling, professional UI themes, premium support and more. -

- -
-
-
-
- Startup Templates - Details -
-
-
-
-
-
- Application Modules - Details -
-
-
-
-
-
- Developer
Tools - Details -
-
-
-
-
-
- UI
Themes - Details -
-
-
-
-
-
- Premium Support - Details -
-
-
-
-
-
- Additional Services - Details -
-
-
-
-
-
- -
diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.cshtml.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.cshtml.cs deleted file mode 100644 index 34ddcd2c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.cshtml.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace WY.NewJit.Web.Pages -{ - public class IndexModel : NewJitPageModel - { - public void OnGet() - { - - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.css b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.css deleted file mode 100644 index b248b67c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.css +++ /dev/null @@ -1,3 +0,0 @@ -body { - -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.js deleted file mode 100644 index a31bd7cc..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/Index.js +++ /dev/null @@ -1,3 +0,0 @@ -$(function () { - abp.log.debug('Index.js initialized!'); -}); diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/NewJitPageModel.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/NewJitPageModel.cs deleted file mode 100644 index 7a1fc493..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/NewJitPageModel.cs +++ /dev/null @@ -1,15 +0,0 @@ -using WY.NewJit.Localization; -using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; - -namespace WY.NewJit.Web.Pages -{ - /* Inherit your PageModel classes from this class. - */ - public abstract class NewJitPageModel : AbpPageModel - { - protected NewJitPageModel() - { - LocalizationResourceType = typeof(NewJitResource); - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/_ViewImports.cshtml b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/_ViewImports.cshtml deleted file mode 100644 index c1da1f5f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Pages/_ViewImports.cshtml +++ /dev/null @@ -1,4 +0,0 @@ -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Program.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Program.cs deleted file mode 100644 index 22f02249..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Program.cs +++ /dev/null @@ -1,78 +0,0 @@ -using System; -using System.IO; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Hosting; -using Serilog; -using Serilog.Events; - -namespace WY.NewJit.Web -{ - public class Program - { - public static int Main(string[] args) - { - //【Serilog 1】 - var configuration = new ConfigurationBuilder() - .SetBasePath(Directory.GetCurrentDirectory()) - .AddJsonFile("appsettings.json") - .AddEnvironmentVariables() - .Build(); - //【Serilog 2】 - Log.Logger = new LoggerConfiguration() - .ReadFrom.Configuration(configuration) - .Enrich.FromLogContext() - .CreateLogger(); - - - - - - - - try - { - Log.Information("Starting web host."); - CreateHostBuilder(args).Build().Run(); - return 0; - } - catch (Exception ex) - { - Log.Fatal(ex, "主机意外终止!"); - return 1; - } - finally - { - Log.CloseAndFlush(); - } - } - - //internal static IHostBuilder CreateHostBuilder(string[] args) => - // Host.CreateDefaultBuilder(args) - // .ConfigureWebHostDefaults(webBuilder => - // { - // webBuilder.UseStartup(); - // }) - // .UseAutofac() - // .UseSerilog(); - - - internal static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .ConfigureWebHostDefaults(webBuilder => - { - webBuilder.ConfigureKestrel((context, options) => - { - - //设置应用服务器Kestrel请求体最大为50MB - options.Limits.MaxRequestBodySize = 5242880000; - options.Limits.MaxRequestBufferSize = 302768; - options.Limits.MaxRequestLineSize = 302768; - - }); - webBuilder.UseStartup(); - }) - .UseAutofac() - .UseSerilog();//【Serilog 3】 <-添加此行 - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Properties/AssemblyInfo.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Properties/AssemblyInfo.cs deleted file mode 100644 index d321ce86..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,2 +0,0 @@ -using System.Runtime.CompilerServices; -[assembly:InternalsVisibleToAttribute("WY.NewJit.Web.Tests")] diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Properties/launchSettings.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Properties/launchSettings.json deleted file mode 100644 index 1b22dd41..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Properties/launchSettings.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "iisSettings": { - "windowsAuthentication": false, - "anonymousAuthentication": true, - "iisExpress": { - "applicationUrl": "http://localhost:44344/", - "sslPort": 0 - } - }, - "profiles": { - "IIS Express": { - "commandName": "IISExpress", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - } - }, - "WY.NewJit.Web": { - "commandName": "Project", - "launchBrowser": true, - "environmentVariables": { - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "applicationUrl": "http://localhost:44344/" - } - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Startup.cs b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Startup.cs deleted file mode 100644 index 0c666c1b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Startup.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Microsoft.AspNetCore.Builder; -using Microsoft.Extensions.DependencyInjection; - -namespace WY.NewJit.Web -{ - public class Startup - { - public void ConfigureServices(IServiceCollection services) - { - services.AddApplication(); - } - - public void Configure(IApplicationBuilder app) - { - app.InitializeApplication(); - } - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Views/_ViewImports.cshtml b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Views/_ViewImports.cshtml deleted file mode 100644 index c1da1f5f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/Views/_ViewImports.cshtml +++ /dev/null @@ -1,4 +0,0 @@ -@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap -@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bundling \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/WY.NewJit.Web.csproj b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/WY.NewJit.Web.csproj deleted file mode 100644 index 9236e1a5..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/WY.NewJit.Web.csproj +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - net5.0 - WY.NewJit.Web - $(AssetTargetFallback);portable-net45+win8+wp8+wpa81; - true - true - true - true - false - true - WY.NewJit-4681b4fd-151f-4221-84a4-929d86723e4c - true - - - - WY.NewJit.Web.xml - - - - - - - - - - - - Always - - - Always - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/WY.NewJit.Web.xml b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/WY.NewJit.Web.xml deleted file mode 100644 index 7e09ee7f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/WY.NewJit.Web.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - WY.NewJit.Web - - - - - 判断是否应该加入当前分组 - - - - - - - - 模板容器 - - - - - - DTO的属性首字母保持大写 - - - - - - 配置异常处理 - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/abp.resourcemapping.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/abp.resourcemapping.js deleted file mode 100644 index 122e8e92..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/abp.resourcemapping.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - aliases: { - - }, - mappings: { - - } -}; diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/appsettings.Development.json1 b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/appsettings.Development.json1 deleted file mode 100644 index 04e77c1f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/appsettings.Development.json1 +++ /dev/null @@ -1,19 +0,0 @@ -{ - - - "App2": { - "SelfUrl": "http://localhost:44344", - "CorsOrigins": "https://*.abc.com,http://localhost:9528,http://192.168.0.203:8088,http://localhost:44344,http://localhost:44344/*,http://localhost:44344/swagger/index.html" - }, - - "ConnectionStrings": { - "Default": "Server=192.168.0.203;Database=NewJit;uid=sa;pwd=Microsoft@2021" - }, - "AuthServer": { - "Authority": "http://localhost:44344", - "RequireHttpsMetadata": "false" - }, - "StringEncryption": { - "DefaultPassPhrase": "RclFlAyi7ZW70c1N" - } -} diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/appsettings.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/appsettings.json deleted file mode 100644 index 5e4f769f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/appsettings.json +++ /dev/null @@ -1,239 +0,0 @@ -{ - "App": { - "SelfUrl": "http://localhost:44344", - "CorsOrigins": "https://*.abc.com,http://localhost:9528,http://192.168.0.203:8088,http://localhost:44344/,http://localhost:44344/*,http://localhost:44344/swagger/index.html" - }, - - "ConfigDic": { - "CurrentVersion": "PaiGe", - "ParseAssemblyCycleCount": 7, - "MsgTransmissionWorker": { - "IsStop": false, - "TakeRecordCount": 1, - "IntervalInMinutes": 60 - }, - "MsgTransmissionWorkerTianHe": { - "IsStop": true, - "TakeRecordCount": 1, - "IntervalInMinutes": 60 - }, - "BatchParseWorker": { - "IsStop": true, - "TakeRecordCount": 1, - "FilterBeginDate": "2021-09-01 00:00:00", - "FilterEndDate": "2021-09-30 23:59:59", - "IntervalInMinutes": 60 - }, - "AssemblySyncWorker": { - "IsStop": true, - "TakeRecordCount": 1, - "IntervalInMinutes": 60 - }, - "FileFilterKeyword": "jit*.*", - "PathRead": { - "接收目录": ".\\JIS_RCV", - "工作目录": ".\\JIS_WORK", - "备份目录": ".\\JIS_BAK", - "错误目录": ".\\JIS_ERR" - } - - - }, - - "ConnectionStrings": { - /*"Default": "Server=LAPTOP-4TE7UPMR\\MYSQLSERVER;Database=NewJit;User ID=sa;Password=1;"*/ - "Default": "Server=192.168.0.213;Database=NewJitPG;User ID=sa;Password=Microsoft@2021;" - }, - /* - "ConnectionStrings": { - "Default": "Server=192.168.0.213;Database=NewJit;User ID=sa;Password=Microsoft@2021;", - "SettleAccountService": "Server=192.168.0.213;Database=SettleAccountService;user id=sa;password=Microsoft@2021;", - "TianHe": "Server=192.168.0.213;Database=TianHe;User ID=sa;Password=Microsoft@2021;" - }, - */ - - - "AuthServer": { - "Authority": "http://localhost:44344", - "RequireHttpsMetadata": "false", - "AlwaysAllowAuthorization": false - }, - "StringEncryption": { - "DefaultPassPhrase": "RclFlAyi7ZW70c1N" - }, - - - "IdentityClients": { - "Default": { - "GrantType": "client_credentials", - "ClientId": "business-app", - "ClientSecret": "1q2w3e*", - "Authority": "http://192.168.0.203:8066", - "Scope": "InternalGateway IdentityService SettleAccount" - } - }, - - "Serilog": { - //日志等级有小到大:Verbose->Debug->Information->Warning->Error->Fatal - "Using": [ - "Serilog.Sinks.RollingFile", - "Serilog.Sinks.Console", - "Serilog.Filters.Expressions" - ], - "MinimumLevel": { - "Default": "Debug", - "Override": { - "Microsoft": "Error", //将Microsoft前缀的日志的最小输出级别改成Information - "System": "Error", //将System前缀的日志的最小输出级别改成Information, - "Microsoft.AspNetCore": "Error", - "Microsoft.AspNetCore.Cors.Infrastructure.CorsService": "Error", - "Microsoft.AspNetCore.Mvc": "Error", - "Microsoft.AspNetCore.Hosting": "Error" - } - }, - - "WriteTo": [ - { - "Name": "Console", - "Args": { - "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss,fff} [{Level}] [{SourceContext}] {Message:lj}{NewLine}{Exception}" - } - }, - { - "Name": "RollingFile", - "Args": { - "pathFormat": "Logs\\ALL\\{Date}.log", //日志保存路径 - "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss,fff} [{Level:u3}] {Message:lj}{NewLine}{Exception}", //输出格式 - "fileSizeLimitBytes": 10000000, //单个日志文件大小 - "retainedFileCountLimit": 30, //日志保留最大数量 - //"formatter": "Serilog.Formatting.Json.JsonFormatter, Serilog", //日志格式化格式 - "buffered": false, //是否以流的形式写文件 - "shared": true //是否允许文件多进程共享(buffered:true时,不可共享) - } - }, - { - "Name": "Logger", - "Args": { - "configureLogger": { - "Filter": [ - { - "Name": "ByIncludingOnly", - "Args": { - "expression": "@Level = 'Debug'" - } - } - ], - "WriteTo": [ - { - "Name": "RollingFile", - "Args": { - "pathFormat": "Logs\\Debug\\{Date}.log", - "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss,fff} DEBUG {ClassName}:0 - [{Version}] [{HttpRequestIP}] [{AppName}] {Message:lj}{NewLine}{Exception}" - } - } - ] - } - } - }, - { - "Name": "Logger", - "Args": { - "configureLogger": { - "Filter": [ - { - "Name": "ByIncludingOnly", - "Args": { - "expression": "@Level = 'Information'" - } - } - ], - "WriteTo": [ - { - "Name": "RollingFile", - "Args": { - "pathFormat": "Logs\\Info\\{Date}.log", - "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss,fff} INFO {ClassName}:0 - [{Version}] [{HttpRequestIP}] [{AppName}] {Message:lj}{NewLine}{Exception}" - } - } - ] - } - } - }, - { - "Name": "Logger", - "Args": { - "configureLogger": { - "Filter": [ - { - "Name": "ByIncludingOnly", - "Args": { - "expression": "@Level = 'Error'" - } - } - ], - "WriteTo": [ - { - "Name": "RollingFile", - "Args": { - "pathFormat": "Logs\\Error\\{Date}.log", - "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss,fff} ERROR {ClassName}:0 - [{Version}] [{HttpRequestIP}] [{AppName}] {Message:lj}{NewLine}{Exception}" - } - } - ] - } - } - }, - { - "Name": "Logger", - "Args": { - "configureLogger": { - "Filter": [ - { - "Name": "ByIncludingOnly", - "Args": { - "expression": "@Level = 'Warning'" - } - } - ], - "WriteTo": [ - { - "Name": "RollingFile", - "Args": { - "pathFormat": "Logs\\Warning\\{Date}.log", - "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss,fff} WARNING {ClassName}:0 - [{Version}] [{HttpRequestIP}] [{AppName}] {Message:lj}{NewLine}{Exception}" - } - } - ] - } - } - } - ], - - "Enrich": [ - "FromLogContext", - "WithMachineName" - ], - "Properties": { - "MachineName": "%COMPUTERNAME%" - } - } - - -} - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/gulpfile.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/gulpfile.js deleted file mode 100644 index f7ebc78f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/gulpfile.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; - -var gulp = require("gulp"), - path = require('path'), - copyResources = require('./node_modules/@abp/aspnetcore.mvc.ui/gulp/copy-resources.js'); - -exports.default = function(){ - return copyResources(path.resolve('./')); -}; \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/package.json b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/package.json deleted file mode 100644 index 8ecc64c3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/package.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "version": "1.0.0", - "name": "my-app", - "private": true, - "dependencies": { - "@abp/aspnetcore.mvc.ui.theme.basic": "^4.3.3" - } -} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/tempkey.jwk b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/tempkey.jwk deleted file mode 100644 index 1df9d592..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/tempkey.jwk +++ /dev/null @@ -1 +0,0 @@ -{"AdditionalData":{},"Alg":"RS256","Crv":null,"D":"V3T-s1RgBIEt8oki5EbDmW_wDDcvZVA4jnaxOlujskwfbuRiatDOkgFKeQ8jlZTMc3ABNfjO2oxp3OK9zX64kwwLt1uutEpW8fB5RcVoXa0J9_IwtSqfn-OZHHPHs4HnnDA4QvYdXmJJsQjdpuZvBs-0sJrNf8KTQZsDOenHV5d35e4BBGIUFlc5p8I8Uot2L2Rh6mMtNKILHriOkPyl5bI54-LSYs9HcGSY9be8Vx1TFUNNnRnlO0h3qt6d_2bp9pdaCW0nkJsw-PNrhfgA-vAie1EeqMT2tbx09fcJIJxjnPXDO6EoViqSlEopR0pIuAMUXhABkWSBWv_VlzN0FQ","DP":"WbIw5texDOX9XyaSzOKLBwq7JQ6ZMC6tJNMU6Dr9IylyQZZp5UUnbhPb9i4aH_1INKX3wVb4Rj5Zo6cq95RUkpThKWPJisaFBVgiy54pVSvJ3M47_E0k6zEhz6DpoaUXk2J0jxQlOgrFiIBjL1yj7GmeFiyUfEAkboDvb6HLGmk","DQ":"Ng_p32Z0QIylrmy92NF_G7ReHpIioY0XTU_Eq4frbvB_fXoI9i9GGYXd2bZZj-45cyVKiHg0BHnTdDymyNQYRF-Y_tKdol_mM2QEID73AHLlh-Vq5f0KGIKkSjn7sWNHbLQFtk1fM5m_WUFO-TNBgLZo1CQgOsBY_M9LMnpf2us","E":"AQAB","K":null,"KeyId":"9DF8EB1DD335FDC0A5B4A3D35CCA7DEA","Kid":"9DF8EB1DD335FDC0A5B4A3D35CCA7DEA","Kty":"RSA","N":"unAvGcxIhQsv4wOZ0lTRnIVHfUqdq2B35jaKONCPm86NK1_UsULFF7B_MObdqB519rGwZIqi7DNMYO612WIeaJw0wWq2WLnBKoFHrGKLRXwUQnwhEeOthBpa8vE0Ot6K7hqIrJcwhrJAITJLBnRHbG7prXlm0cKe_8cEKbXh81syPHhA1-tseqVkdaBgBtrPCJO-jN7_uJ3TXWprrNVAt8QxSRVPTlX5M4oI1gVR9n1gjF6BTTJ-4Rg3-mffOMOpDwUNtwKfKbIcu5p3dDkYcSwdscVWUfA6btHdyKNRngB9bAHx00jIf93S3G6r1apbQhRSCFCzsqvlp-OP25I-hQ","Oth":null,"P":"zz--YC5tJFidc5ky5im7tYmIWxCzDi_Y5ZyEq0R2QPiTZWq2kMLG86WL6f8QaMNQarOKFZPaSMT41XFiXe5rbhaiOitG2v7zgefikxauQkHp6S8xTWCDDbzANuZXwE3rWpk3gLXZWrl9H5IQ9znBxPyqQXDqT2TpWg0M5MEGyf8","Q":"5ks-PL1rU0vMEa2jegHUQgRj0eEaiPBsQ4qOuQI6pvXfpvhnK0iR6Ly_v2AMWeqw5s2o8A4NSij3Kll4raHODkZGbPuZHgbU8QtsYMK8t2ZZiL5FLXERP2z8Z1YbxxNVAucY8rkXKW6E7wWcgPXpVhu_R_tp5GvR9fzWrhwGz3s","QI":"FUu-N2b7csJb_FZz14zJ72wADS5-YD36oZia2IpHNbf0Hslf-CtdMM5NNh5h4O63ZPhVtYw_N4UXwb_WNmxQ4zH_rnOj6HeoP3hCNEJ3rRxPaCwOKUrV1W6gha8VHnGv85xCqFGDio_mvyrLzzdjdZv632VcfClZlUHPWaYT1HQ","Use":null,"X":null,"X5t":null,"X5tS256":null,"X5u":null,"Y":null,"KeySize":2048,"HasPrivateKey":true,"CryptoProviderFactory":{"CryptoProviderCache":{},"CustomCryptoProvider":null,"CacheSignatureProviders":true}} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/tempkey.rsa b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/tempkey.rsa deleted file mode 100644 index f3b32de2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/tempkey.rsa +++ /dev/null @@ -1 +0,0 @@ -{"KeyId":"ac0d2edf3c04d13cd95cc41b9b33ab03","Parameters":{"D":"FFymEWbX3XBT5YnTngOKwtz3XKsyaQbyDvvw9jbmkdvLKUmrb1hkmylqVYwU/3G1u79rrD8AZXJDoYVLegyZymK/iNeePMLI4i5vScF7PdQXn/g6CvQ8j3J60YYyfDWuxjBH8nCEUIfQIv14BpcH6CWi1BVZUbnbWcpe2ji8D5I3FHOZpvksQztst5eE836ODdN9jgk35kgrdUQ14MEFHA6m6fAzvFI1csFxD3Kwej4rI8RYZ0WYLkndz9ID88+v9VxqI8+wN6wR6tIOR510uT1FI5wONBVBUzgeZ6cCEpg0jC9tgqcP03gMDpmE7vKp34ExxH/iOWyhQ0gAxHOVlQ==","DP":"qSQfNZvEkepgY12d+uwTbRoOp+0g1CBiMU9kqyoIB56hAUnzENSCDzunjLRrvDLFPgXiUcoccskyVRnKKOGPOqPE6VjgzBrdLgA/hBf8hPg0GnTVoPyLxR9G6GsGUKsAYVn8G7cnK5wXzK4jCjsflkfxCzFfdASJ/+sa5QPWZMM=","DQ":"u+56T1+rhMvlurid9kBS2Ypfm4vOiNAXLD9kGz2wx8Ob0yYlWo55kn11qPs6Ej9bnQIY3N+TY2tXMamfhAhntoHaKrFjOpCmlHZ0GAeQOJVuWSlFvu/NBoxfjZzcUCNua22oJjy++wSdkkLLGEqau62byaQoSSqUxUzwL36RexM=","Exponent":"AQAB","InverseQ":"E+uq9g6D5LjUk+M7gtt0srnT8duwu8P83AgFqjtGOnSCy71omSboxb4zC9bGq/WaEFauFBwqxbkXwFyXuYNfIelfmSERulU9jgf0+KH6QmFdtjrJ5UO7VArqET1WUquwiDvOyO8udCxi8RRAiM5G3dTzIs5JTalGhlKEZSAgPtQ=","Modulus":"rgHACxzqvuE72RF/NdDTLsIEy3F/n6P4lkgrER60FU8uRNwSmAMRxvxYOaE3Ot/krRYcw2+MP8ewR1VBXywXVT1zuACA3SacMHJYmZQ2UkuwsD9bmpjvqoMhR/hjsI74jTzKpclHtEu7D7WYDZaIPAEIs/8+5H/z1mXVfgACaeaQt3C0OhwXSOPPDP71VKGfoFucXYED1keZ0PKxYAlhiHOe7cnSlfJseujwD2Rhyq8mUhe6aEMTYBjuruWgpfvnSOARAqu5vwzK35KpAirHwa1DJSZyanNMFdlLkVNKWUKEqd6PwRneiHacmaaDF6oQQstuSbf9cuJeSMbKh7WVQQ==","P":"0CJDit2NHk0Z1bN5ZVIYZRUYbrAI2bEOafAKqfffcA/Os7yXsY14Ye4pSpDxfdZGcPGRL04HPkJsogFtyI7k4ujrvsC66I5cg45+BhBMM0zyLJ7LZkD2HGwX2+a/xrXhhIIOnGWWy2zzW3dkayRhi1bR9krfTA5uBw1LX9qZ3Yc=","Q":"1gZITAaB+r0+PgOfyDCeVzSnTyQuKSkgbUkIgQP9jQZa6edrbAXogdJipxmUTrW7JaxifG1z9ubK+TOqhjZHqT4gd8U8Bh7jCBizZNVe60pez1OtNGpEOW2N+ZrXBSMNcV8PFaMg/B+fcaX+i7NWpTqmztR/V0DGXmD+XosuaPc="}} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/global-styles.css b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/global-styles.css deleted file mode 100644 index e5d20ea3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/global-styles.css +++ /dev/null @@ -1 +0,0 @@ -/* Your Global Styles */ diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css deleted file mode 100644 index c9816fac..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/all.css +++ /dev/null @@ -1,4586 +0,0 @@ -/*! - * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -.fa, -.fas, -.far, -.fal, -.fad, -.fab { - -moz-osx-font-smoothing: grayscale; - -webkit-font-smoothing: antialiased; - display: inline-block; - font-style: normal; - font-variant: normal; - text-rendering: auto; - line-height: 1; } - -.fa-lg { - font-size: 1.33333em; - line-height: 0.75em; - vertical-align: -.0667em; } - -.fa-xs { - font-size: .75em; } - -.fa-sm { - font-size: .875em; } - -.fa-1x { - font-size: 1em; } - -.fa-2x { - font-size: 2em; } - -.fa-3x { - font-size: 3em; } - -.fa-4x { - font-size: 4em; } - -.fa-5x { - font-size: 5em; } - -.fa-6x { - font-size: 6em; } - -.fa-7x { - font-size: 7em; } - -.fa-8x { - font-size: 8em; } - -.fa-9x { - font-size: 9em; } - -.fa-10x { - font-size: 10em; } - -.fa-fw { - text-align: center; - width: 1.25em; } - -.fa-ul { - list-style-type: none; - margin-left: 2.5em; - padding-left: 0; } - .fa-ul > li { - position: relative; } - -.fa-li { - left: -2em; - position: absolute; - text-align: center; - width: 2em; - line-height: inherit; } - -.fa-border { - border: solid 0.08em #eee; - border-radius: .1em; - padding: .2em .25em .15em; } - -.fa-pull-left { - float: left; } - -.fa-pull-right { - float: right; } - -.fa.fa-pull-left, -.fas.fa-pull-left, -.far.fa-pull-left, -.fal.fa-pull-left, -.fab.fa-pull-left { - margin-right: .3em; } - -.fa.fa-pull-right, -.fas.fa-pull-right, -.far.fa-pull-right, -.fal.fa-pull-right, -.fab.fa-pull-right { - margin-left: .3em; } - -.fa-spin { - -webkit-animation: fa-spin 2s infinite linear; - animation: fa-spin 2s infinite linear; } - -.fa-pulse { - -webkit-animation: fa-spin 1s infinite steps(8); - animation: fa-spin 1s infinite steps(8); } - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -.fa-rotate-90 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - -.fa-rotate-180 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; - -webkit-transform: rotate(180deg); - transform: rotate(180deg); } - -.fa-rotate-270 { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; - -webkit-transform: rotate(270deg); - transform: rotate(270deg); } - -.fa-flip-horizontal { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; - -webkit-transform: scale(-1, 1); - transform: scale(-1, 1); } - -.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(1, -1); - transform: scale(1, -1); } - -.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { - -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; - -webkit-transform: scale(-1, -1); - transform: scale(-1, -1); } - -:root .fa-rotate-90, -:root .fa-rotate-180, -:root .fa-rotate-270, -:root .fa-flip-horizontal, -:root .fa-flip-vertical, -:root .fa-flip-both { - -webkit-filter: none; - filter: none; } - -.fa-stack { - display: inline-block; - height: 2em; - line-height: 2em; - position: relative; - vertical-align: middle; - width: 2.5em; } - -.fa-stack-1x, -.fa-stack-2x { - left: 0; - position: absolute; - text-align: center; - width: 100%; } - -.fa-stack-1x { - line-height: inherit; } - -.fa-stack-2x { - font-size: 2em; } - -.fa-inverse { - color: #fff; } - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen -readers do not read off random characters that represent icons */ -.fa-500px:before { - content: "\f26e"; } - -.fa-accessible-icon:before { - content: "\f368"; } - -.fa-accusoft:before { - content: "\f369"; } - -.fa-acquisitions-incorporated:before { - content: "\f6af"; } - -.fa-ad:before { - content: "\f641"; } - -.fa-address-book:before { - content: "\f2b9"; } - -.fa-address-card:before { - content: "\f2bb"; } - -.fa-adjust:before { - content: "\f042"; } - -.fa-adn:before { - content: "\f170"; } - -.fa-adobe:before { - content: "\f778"; } - -.fa-adversal:before { - content: "\f36a"; } - -.fa-affiliatetheme:before { - content: "\f36b"; } - -.fa-air-freshener:before { - content: "\f5d0"; } - -.fa-airbnb:before { - content: "\f834"; } - -.fa-algolia:before { - content: "\f36c"; } - -.fa-align-center:before { - content: "\f037"; } - -.fa-align-justify:before { - content: "\f039"; } - -.fa-align-left:before { - content: "\f036"; } - -.fa-align-right:before { - content: "\f038"; } - -.fa-alipay:before { - content: "\f642"; } - -.fa-allergies:before { - content: "\f461"; } - -.fa-amazon:before { - content: "\f270"; } - -.fa-amazon-pay:before { - content: "\f42c"; } - -.fa-ambulance:before { - content: "\f0f9"; } - -.fa-american-sign-language-interpreting:before { - content: "\f2a3"; } - -.fa-amilia:before { - content: "\f36d"; } - -.fa-anchor:before { - content: "\f13d"; } - -.fa-android:before { - content: "\f17b"; } - -.fa-angellist:before { - content: "\f209"; } - -.fa-angle-double-down:before { - content: "\f103"; } - -.fa-angle-double-left:before { - content: "\f100"; } - -.fa-angle-double-right:before { - content: "\f101"; } - -.fa-angle-double-up:before { - content: "\f102"; } - -.fa-angle-down:before { - content: "\f107"; } - -.fa-angle-left:before { - content: "\f104"; } - -.fa-angle-right:before { - content: "\f105"; } - -.fa-angle-up:before { - content: "\f106"; } - -.fa-angry:before { - content: "\f556"; } - -.fa-angrycreative:before { - content: "\f36e"; } - -.fa-angular:before { - content: "\f420"; } - -.fa-ankh:before { - content: "\f644"; } - -.fa-app-store:before { - content: "\f36f"; } - -.fa-app-store-ios:before { - content: "\f370"; } - -.fa-apper:before { - content: "\f371"; } - -.fa-apple:before { - content: "\f179"; } - -.fa-apple-alt:before { - content: "\f5d1"; } - -.fa-apple-pay:before { - content: "\f415"; } - -.fa-archive:before { - content: "\f187"; } - -.fa-archway:before { - content: "\f557"; } - -.fa-arrow-alt-circle-down:before { - content: "\f358"; } - -.fa-arrow-alt-circle-left:before { - content: "\f359"; } - -.fa-arrow-alt-circle-right:before { - content: "\f35a"; } - -.fa-arrow-alt-circle-up:before { - content: "\f35b"; } - -.fa-arrow-circle-down:before { - content: "\f0ab"; } - -.fa-arrow-circle-left:before { - content: "\f0a8"; } - -.fa-arrow-circle-right:before { - content: "\f0a9"; } - -.fa-arrow-circle-up:before { - content: "\f0aa"; } - -.fa-arrow-down:before { - content: "\f063"; } - -.fa-arrow-left:before { - content: "\f060"; } - -.fa-arrow-right:before { - content: "\f061"; } - -.fa-arrow-up:before { - content: "\f062"; } - -.fa-arrows-alt:before { - content: "\f0b2"; } - -.fa-arrows-alt-h:before { - content: "\f337"; } - -.fa-arrows-alt-v:before { - content: "\f338"; } - -.fa-artstation:before { - content: "\f77a"; } - -.fa-assistive-listening-systems:before { - content: "\f2a2"; } - -.fa-asterisk:before { - content: "\f069"; } - -.fa-asymmetrik:before { - content: "\f372"; } - -.fa-at:before { - content: "\f1fa"; } - -.fa-atlas:before { - content: "\f558"; } - -.fa-atlassian:before { - content: "\f77b"; } - -.fa-atom:before { - content: "\f5d2"; } - -.fa-audible:before { - content: "\f373"; } - -.fa-audio-description:before { - content: "\f29e"; } - -.fa-autoprefixer:before { - content: "\f41c"; } - -.fa-avianex:before { - content: "\f374"; } - -.fa-aviato:before { - content: "\f421"; } - -.fa-award:before { - content: "\f559"; } - -.fa-aws:before { - content: "\f375"; } - -.fa-baby:before { - content: "\f77c"; } - -.fa-baby-carriage:before { - content: "\f77d"; } - -.fa-backspace:before { - content: "\f55a"; } - -.fa-backward:before { - content: "\f04a"; } - -.fa-bacon:before { - content: "\f7e5"; } - -.fa-bacteria:before { - content: "\f959"; } - -.fa-bacterium:before { - content: "\f95a"; } - -.fa-bahai:before { - content: "\f666"; } - -.fa-balance-scale:before { - content: "\f24e"; } - -.fa-balance-scale-left:before { - content: "\f515"; } - -.fa-balance-scale-right:before { - content: "\f516"; } - -.fa-ban:before { - content: "\f05e"; } - -.fa-band-aid:before { - content: "\f462"; } - -.fa-bandcamp:before { - content: "\f2d5"; } - -.fa-barcode:before { - content: "\f02a"; } - -.fa-bars:before { - content: "\f0c9"; } - -.fa-baseball-ball:before { - content: "\f433"; } - -.fa-basketball-ball:before { - content: "\f434"; } - -.fa-bath:before { - content: "\f2cd"; } - -.fa-battery-empty:before { - content: "\f244"; } - -.fa-battery-full:before { - content: "\f240"; } - -.fa-battery-half:before { - content: "\f242"; } - -.fa-battery-quarter:before { - content: "\f243"; } - -.fa-battery-three-quarters:before { - content: "\f241"; } - -.fa-battle-net:before { - content: "\f835"; } - -.fa-bed:before { - content: "\f236"; } - -.fa-beer:before { - content: "\f0fc"; } - -.fa-behance:before { - content: "\f1b4"; } - -.fa-behance-square:before { - content: "\f1b5"; } - -.fa-bell:before { - content: "\f0f3"; } - -.fa-bell-slash:before { - content: "\f1f6"; } - -.fa-bezier-curve:before { - content: "\f55b"; } - -.fa-bible:before { - content: "\f647"; } - -.fa-bicycle:before { - content: "\f206"; } - -.fa-biking:before { - content: "\f84a"; } - -.fa-bimobject:before { - content: "\f378"; } - -.fa-binoculars:before { - content: "\f1e5"; } - -.fa-biohazard:before { - content: "\f780"; } - -.fa-birthday-cake:before { - content: "\f1fd"; } - -.fa-bitbucket:before { - content: "\f171"; } - -.fa-bitcoin:before { - content: "\f379"; } - -.fa-bity:before { - content: "\f37a"; } - -.fa-black-tie:before { - content: "\f27e"; } - -.fa-blackberry:before { - content: "\f37b"; } - -.fa-blender:before { - content: "\f517"; } - -.fa-blender-phone:before { - content: "\f6b6"; } - -.fa-blind:before { - content: "\f29d"; } - -.fa-blog:before { - content: "\f781"; } - -.fa-blogger:before { - content: "\f37c"; } - -.fa-blogger-b:before { - content: "\f37d"; } - -.fa-bluetooth:before { - content: "\f293"; } - -.fa-bluetooth-b:before { - content: "\f294"; } - -.fa-bold:before { - content: "\f032"; } - -.fa-bolt:before { - content: "\f0e7"; } - -.fa-bomb:before { - content: "\f1e2"; } - -.fa-bone:before { - content: "\f5d7"; } - -.fa-bong:before { - content: "\f55c"; } - -.fa-book:before { - content: "\f02d"; } - -.fa-book-dead:before { - content: "\f6b7"; } - -.fa-book-medical:before { - content: "\f7e6"; } - -.fa-book-open:before { - content: "\f518"; } - -.fa-book-reader:before { - content: "\f5da"; } - -.fa-bookmark:before { - content: "\f02e"; } - -.fa-bootstrap:before { - content: "\f836"; } - -.fa-border-all:before { - content: "\f84c"; } - -.fa-border-none:before { - content: "\f850"; } - -.fa-border-style:before { - content: "\f853"; } - -.fa-bowling-ball:before { - content: "\f436"; } - -.fa-box:before { - content: "\f466"; } - -.fa-box-open:before { - content: "\f49e"; } - -.fa-box-tissue:before { - content: "\f95b"; } - -.fa-boxes:before { - content: "\f468"; } - -.fa-braille:before { - content: "\f2a1"; } - -.fa-brain:before { - content: "\f5dc"; } - -.fa-bread-slice:before { - content: "\f7ec"; } - -.fa-briefcase:before { - content: "\f0b1"; } - -.fa-briefcase-medical:before { - content: "\f469"; } - -.fa-broadcast-tower:before { - content: "\f519"; } - -.fa-broom:before { - content: "\f51a"; } - -.fa-brush:before { - content: "\f55d"; } - -.fa-btc:before { - content: "\f15a"; } - -.fa-buffer:before { - content: "\f837"; } - -.fa-bug:before { - content: "\f188"; } - -.fa-building:before { - content: "\f1ad"; } - -.fa-bullhorn:before { - content: "\f0a1"; } - -.fa-bullseye:before { - content: "\f140"; } - -.fa-burn:before { - content: "\f46a"; } - -.fa-buromobelexperte:before { - content: "\f37f"; } - -.fa-bus:before { - content: "\f207"; } - -.fa-bus-alt:before { - content: "\f55e"; } - -.fa-business-time:before { - content: "\f64a"; } - -.fa-buy-n-large:before { - content: "\f8a6"; } - -.fa-buysellads:before { - content: "\f20d"; } - -.fa-calculator:before { - content: "\f1ec"; } - -.fa-calendar:before { - content: "\f133"; } - -.fa-calendar-alt:before { - content: "\f073"; } - -.fa-calendar-check:before { - content: "\f274"; } - -.fa-calendar-day:before { - content: "\f783"; } - -.fa-calendar-minus:before { - content: "\f272"; } - -.fa-calendar-plus:before { - content: "\f271"; } - -.fa-calendar-times:before { - content: "\f273"; } - -.fa-calendar-week:before { - content: "\f784"; } - -.fa-camera:before { - content: "\f030"; } - -.fa-camera-retro:before { - content: "\f083"; } - -.fa-campground:before { - content: "\f6bb"; } - -.fa-canadian-maple-leaf:before { - content: "\f785"; } - -.fa-candy-cane:before { - content: "\f786"; } - -.fa-cannabis:before { - content: "\f55f"; } - -.fa-capsules:before { - content: "\f46b"; } - -.fa-car:before { - content: "\f1b9"; } - -.fa-car-alt:before { - content: "\f5de"; } - -.fa-car-battery:before { - content: "\f5df"; } - -.fa-car-crash:before { - content: "\f5e1"; } - -.fa-car-side:before { - content: "\f5e4"; } - -.fa-caravan:before { - content: "\f8ff"; } - -.fa-caret-down:before { - content: "\f0d7"; } - -.fa-caret-left:before { - content: "\f0d9"; } - -.fa-caret-right:before { - content: "\f0da"; } - -.fa-caret-square-down:before { - content: "\f150"; } - -.fa-caret-square-left:before { - content: "\f191"; } - -.fa-caret-square-right:before { - content: "\f152"; } - -.fa-caret-square-up:before { - content: "\f151"; } - -.fa-caret-up:before { - content: "\f0d8"; } - -.fa-carrot:before { - content: "\f787"; } - -.fa-cart-arrow-down:before { - content: "\f218"; } - -.fa-cart-plus:before { - content: "\f217"; } - -.fa-cash-register:before { - content: "\f788"; } - -.fa-cat:before { - content: "\f6be"; } - -.fa-cc-amazon-pay:before { - content: "\f42d"; } - -.fa-cc-amex:before { - content: "\f1f3"; } - -.fa-cc-apple-pay:before { - content: "\f416"; } - -.fa-cc-diners-club:before { - content: "\f24c"; } - -.fa-cc-discover:before { - content: "\f1f2"; } - -.fa-cc-jcb:before { - content: "\f24b"; } - -.fa-cc-mastercard:before { - content: "\f1f1"; } - -.fa-cc-paypal:before { - content: "\f1f4"; } - -.fa-cc-stripe:before { - content: "\f1f5"; } - -.fa-cc-visa:before { - content: "\f1f0"; } - -.fa-centercode:before { - content: "\f380"; } - -.fa-centos:before { - content: "\f789"; } - -.fa-certificate:before { - content: "\f0a3"; } - -.fa-chair:before { - content: "\f6c0"; } - -.fa-chalkboard:before { - content: "\f51b"; } - -.fa-chalkboard-teacher:before { - content: "\f51c"; } - -.fa-charging-station:before { - content: "\f5e7"; } - -.fa-chart-area:before { - content: "\f1fe"; } - -.fa-chart-bar:before { - content: "\f080"; } - -.fa-chart-line:before { - content: "\f201"; } - -.fa-chart-pie:before { - content: "\f200"; } - -.fa-check:before { - content: "\f00c"; } - -.fa-check-circle:before { - content: "\f058"; } - -.fa-check-double:before { - content: "\f560"; } - -.fa-check-square:before { - content: "\f14a"; } - -.fa-cheese:before { - content: "\f7ef"; } - -.fa-chess:before { - content: "\f439"; } - -.fa-chess-bishop:before { - content: "\f43a"; } - -.fa-chess-board:before { - content: "\f43c"; } - -.fa-chess-king:before { - content: "\f43f"; } - -.fa-chess-knight:before { - content: "\f441"; } - -.fa-chess-pawn:before { - content: "\f443"; } - -.fa-chess-queen:before { - content: "\f445"; } - -.fa-chess-rook:before { - content: "\f447"; } - -.fa-chevron-circle-down:before { - content: "\f13a"; } - -.fa-chevron-circle-left:before { - content: "\f137"; } - -.fa-chevron-circle-right:before { - content: "\f138"; } - -.fa-chevron-circle-up:before { - content: "\f139"; } - -.fa-chevron-down:before { - content: "\f078"; } - -.fa-chevron-left:before { - content: "\f053"; } - -.fa-chevron-right:before { - content: "\f054"; } - -.fa-chevron-up:before { - content: "\f077"; } - -.fa-child:before { - content: "\f1ae"; } - -.fa-chrome:before { - content: "\f268"; } - -.fa-chromecast:before { - content: "\f838"; } - -.fa-church:before { - content: "\f51d"; } - -.fa-circle:before { - content: "\f111"; } - -.fa-circle-notch:before { - content: "\f1ce"; } - -.fa-city:before { - content: "\f64f"; } - -.fa-clinic-medical:before { - content: "\f7f2"; } - -.fa-clipboard:before { - content: "\f328"; } - -.fa-clipboard-check:before { - content: "\f46c"; } - -.fa-clipboard-list:before { - content: "\f46d"; } - -.fa-clock:before { - content: "\f017"; } - -.fa-clone:before { - content: "\f24d"; } - -.fa-closed-captioning:before { - content: "\f20a"; } - -.fa-cloud:before { - content: "\f0c2"; } - -.fa-cloud-download-alt:before { - content: "\f381"; } - -.fa-cloud-meatball:before { - content: "\f73b"; } - -.fa-cloud-moon:before { - content: "\f6c3"; } - -.fa-cloud-moon-rain:before { - content: "\f73c"; } - -.fa-cloud-rain:before { - content: "\f73d"; } - -.fa-cloud-showers-heavy:before { - content: "\f740"; } - -.fa-cloud-sun:before { - content: "\f6c4"; } - -.fa-cloud-sun-rain:before { - content: "\f743"; } - -.fa-cloud-upload-alt:before { - content: "\f382"; } - -.fa-cloudscale:before { - content: "\f383"; } - -.fa-cloudsmith:before { - content: "\f384"; } - -.fa-cloudversify:before { - content: "\f385"; } - -.fa-cocktail:before { - content: "\f561"; } - -.fa-code:before { - content: "\f121"; } - -.fa-code-branch:before { - content: "\f126"; } - -.fa-codepen:before { - content: "\f1cb"; } - -.fa-codiepie:before { - content: "\f284"; } - -.fa-coffee:before { - content: "\f0f4"; } - -.fa-cog:before { - content: "\f013"; } - -.fa-cogs:before { - content: "\f085"; } - -.fa-coins:before { - content: "\f51e"; } - -.fa-columns:before { - content: "\f0db"; } - -.fa-comment:before { - content: "\f075"; } - -.fa-comment-alt:before { - content: "\f27a"; } - -.fa-comment-dollar:before { - content: "\f651"; } - -.fa-comment-dots:before { - content: "\f4ad"; } - -.fa-comment-medical:before { - content: "\f7f5"; } - -.fa-comment-slash:before { - content: "\f4b3"; } - -.fa-comments:before { - content: "\f086"; } - -.fa-comments-dollar:before { - content: "\f653"; } - -.fa-compact-disc:before { - content: "\f51f"; } - -.fa-compass:before { - content: "\f14e"; } - -.fa-compress:before { - content: "\f066"; } - -.fa-compress-alt:before { - content: "\f422"; } - -.fa-compress-arrows-alt:before { - content: "\f78c"; } - -.fa-concierge-bell:before { - content: "\f562"; } - -.fa-confluence:before { - content: "\f78d"; } - -.fa-connectdevelop:before { - content: "\f20e"; } - -.fa-contao:before { - content: "\f26d"; } - -.fa-cookie:before { - content: "\f563"; } - -.fa-cookie-bite:before { - content: "\f564"; } - -.fa-copy:before { - content: "\f0c5"; } - -.fa-copyright:before { - content: "\f1f9"; } - -.fa-cotton-bureau:before { - content: "\f89e"; } - -.fa-couch:before { - content: "\f4b8"; } - -.fa-cpanel:before { - content: "\f388"; } - -.fa-creative-commons:before { - content: "\f25e"; } - -.fa-creative-commons-by:before { - content: "\f4e7"; } - -.fa-creative-commons-nc:before { - content: "\f4e8"; } - -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; } - -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; } - -.fa-creative-commons-nd:before { - content: "\f4eb"; } - -.fa-creative-commons-pd:before { - content: "\f4ec"; } - -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; } - -.fa-creative-commons-remix:before { - content: "\f4ee"; } - -.fa-creative-commons-sa:before { - content: "\f4ef"; } - -.fa-creative-commons-sampling:before { - content: "\f4f0"; } - -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; } - -.fa-creative-commons-share:before { - content: "\f4f2"; } - -.fa-creative-commons-zero:before { - content: "\f4f3"; } - -.fa-credit-card:before { - content: "\f09d"; } - -.fa-critical-role:before { - content: "\f6c9"; } - -.fa-crop:before { - content: "\f125"; } - -.fa-crop-alt:before { - content: "\f565"; } - -.fa-cross:before { - content: "\f654"; } - -.fa-crosshairs:before { - content: "\f05b"; } - -.fa-crow:before { - content: "\f520"; } - -.fa-crown:before { - content: "\f521"; } - -.fa-crutch:before { - content: "\f7f7"; } - -.fa-css3:before { - content: "\f13c"; } - -.fa-css3-alt:before { - content: "\f38b"; } - -.fa-cube:before { - content: "\f1b2"; } - -.fa-cubes:before { - content: "\f1b3"; } - -.fa-cut:before { - content: "\f0c4"; } - -.fa-cuttlefish:before { - content: "\f38c"; } - -.fa-d-and-d:before { - content: "\f38d"; } - -.fa-d-and-d-beyond:before { - content: "\f6ca"; } - -.fa-dailymotion:before { - content: "\f952"; } - -.fa-dashcube:before { - content: "\f210"; } - -.fa-database:before { - content: "\f1c0"; } - -.fa-deaf:before { - content: "\f2a4"; } - -.fa-deezer:before { - content: "\f977"; } - -.fa-delicious:before { - content: "\f1a5"; } - -.fa-democrat:before { - content: "\f747"; } - -.fa-deploydog:before { - content: "\f38e"; } - -.fa-deskpro:before { - content: "\f38f"; } - -.fa-desktop:before { - content: "\f108"; } - -.fa-dev:before { - content: "\f6cc"; } - -.fa-deviantart:before { - content: "\f1bd"; } - -.fa-dharmachakra:before { - content: "\f655"; } - -.fa-dhl:before { - content: "\f790"; } - -.fa-diagnoses:before { - content: "\f470"; } - -.fa-diaspora:before { - content: "\f791"; } - -.fa-dice:before { - content: "\f522"; } - -.fa-dice-d20:before { - content: "\f6cf"; } - -.fa-dice-d6:before { - content: "\f6d1"; } - -.fa-dice-five:before { - content: "\f523"; } - -.fa-dice-four:before { - content: "\f524"; } - -.fa-dice-one:before { - content: "\f525"; } - -.fa-dice-six:before { - content: "\f526"; } - -.fa-dice-three:before { - content: "\f527"; } - -.fa-dice-two:before { - content: "\f528"; } - -.fa-digg:before { - content: "\f1a6"; } - -.fa-digital-ocean:before { - content: "\f391"; } - -.fa-digital-tachograph:before { - content: "\f566"; } - -.fa-directions:before { - content: "\f5eb"; } - -.fa-discord:before { - content: "\f392"; } - -.fa-discourse:before { - content: "\f393"; } - -.fa-disease:before { - content: "\f7fa"; } - -.fa-divide:before { - content: "\f529"; } - -.fa-dizzy:before { - content: "\f567"; } - -.fa-dna:before { - content: "\f471"; } - -.fa-dochub:before { - content: "\f394"; } - -.fa-docker:before { - content: "\f395"; } - -.fa-dog:before { - content: "\f6d3"; } - -.fa-dollar-sign:before { - content: "\f155"; } - -.fa-dolly:before { - content: "\f472"; } - -.fa-dolly-flatbed:before { - content: "\f474"; } - -.fa-donate:before { - content: "\f4b9"; } - -.fa-door-closed:before { - content: "\f52a"; } - -.fa-door-open:before { - content: "\f52b"; } - -.fa-dot-circle:before { - content: "\f192"; } - -.fa-dove:before { - content: "\f4ba"; } - -.fa-download:before { - content: "\f019"; } - -.fa-draft2digital:before { - content: "\f396"; } - -.fa-drafting-compass:before { - content: "\f568"; } - -.fa-dragon:before { - content: "\f6d5"; } - -.fa-draw-polygon:before { - content: "\f5ee"; } - -.fa-dribbble:before { - content: "\f17d"; } - -.fa-dribbble-square:before { - content: "\f397"; } - -.fa-dropbox:before { - content: "\f16b"; } - -.fa-drum:before { - content: "\f569"; } - -.fa-drum-steelpan:before { - content: "\f56a"; } - -.fa-drumstick-bite:before { - content: "\f6d7"; } - -.fa-drupal:before { - content: "\f1a9"; } - -.fa-dumbbell:before { - content: "\f44b"; } - -.fa-dumpster:before { - content: "\f793"; } - -.fa-dumpster-fire:before { - content: "\f794"; } - -.fa-dungeon:before { - content: "\f6d9"; } - -.fa-dyalog:before { - content: "\f399"; } - -.fa-earlybirds:before { - content: "\f39a"; } - -.fa-ebay:before { - content: "\f4f4"; } - -.fa-edge:before { - content: "\f282"; } - -.fa-edge-legacy:before { - content: "\f978"; } - -.fa-edit:before { - content: "\f044"; } - -.fa-egg:before { - content: "\f7fb"; } - -.fa-eject:before { - content: "\f052"; } - -.fa-elementor:before { - content: "\f430"; } - -.fa-ellipsis-h:before { - content: "\f141"; } - -.fa-ellipsis-v:before { - content: "\f142"; } - -.fa-ello:before { - content: "\f5f1"; } - -.fa-ember:before { - content: "\f423"; } - -.fa-empire:before { - content: "\f1d1"; } - -.fa-envelope:before { - content: "\f0e0"; } - -.fa-envelope-open:before { - content: "\f2b6"; } - -.fa-envelope-open-text:before { - content: "\f658"; } - -.fa-envelope-square:before { - content: "\f199"; } - -.fa-envira:before { - content: "\f299"; } - -.fa-equals:before { - content: "\f52c"; } - -.fa-eraser:before { - content: "\f12d"; } - -.fa-erlang:before { - content: "\f39d"; } - -.fa-ethereum:before { - content: "\f42e"; } - -.fa-ethernet:before { - content: "\f796"; } - -.fa-etsy:before { - content: "\f2d7"; } - -.fa-euro-sign:before { - content: "\f153"; } - -.fa-evernote:before { - content: "\f839"; } - -.fa-exchange-alt:before { - content: "\f362"; } - -.fa-exclamation:before { - content: "\f12a"; } - -.fa-exclamation-circle:before { - content: "\f06a"; } - -.fa-exclamation-triangle:before { - content: "\f071"; } - -.fa-expand:before { - content: "\f065"; } - -.fa-expand-alt:before { - content: "\f424"; } - -.fa-expand-arrows-alt:before { - content: "\f31e"; } - -.fa-expeditedssl:before { - content: "\f23e"; } - -.fa-external-link-alt:before { - content: "\f35d"; } - -.fa-external-link-square-alt:before { - content: "\f360"; } - -.fa-eye:before { - content: "\f06e"; } - -.fa-eye-dropper:before { - content: "\f1fb"; } - -.fa-eye-slash:before { - content: "\f070"; } - -.fa-facebook:before { - content: "\f09a"; } - -.fa-facebook-f:before { - content: "\f39e"; } - -.fa-facebook-messenger:before { - content: "\f39f"; } - -.fa-facebook-square:before { - content: "\f082"; } - -.fa-fan:before { - content: "\f863"; } - -.fa-fantasy-flight-games:before { - content: "\f6dc"; } - -.fa-fast-backward:before { - content: "\f049"; } - -.fa-fast-forward:before { - content: "\f050"; } - -.fa-faucet:before { - content: "\f905"; } - -.fa-fax:before { - content: "\f1ac"; } - -.fa-feather:before { - content: "\f52d"; } - -.fa-feather-alt:before { - content: "\f56b"; } - -.fa-fedex:before { - content: "\f797"; } - -.fa-fedora:before { - content: "\f798"; } - -.fa-female:before { - content: "\f182"; } - -.fa-fighter-jet:before { - content: "\f0fb"; } - -.fa-figma:before { - content: "\f799"; } - -.fa-file:before { - content: "\f15b"; } - -.fa-file-alt:before { - content: "\f15c"; } - -.fa-file-archive:before { - content: "\f1c6"; } - -.fa-file-audio:before { - content: "\f1c7"; } - -.fa-file-code:before { - content: "\f1c9"; } - -.fa-file-contract:before { - content: "\f56c"; } - -.fa-file-csv:before { - content: "\f6dd"; } - -.fa-file-download:before { - content: "\f56d"; } - -.fa-file-excel:before { - content: "\f1c3"; } - -.fa-file-export:before { - content: "\f56e"; } - -.fa-file-image:before { - content: "\f1c5"; } - -.fa-file-import:before { - content: "\f56f"; } - -.fa-file-invoice:before { - content: "\f570"; } - -.fa-file-invoice-dollar:before { - content: "\f571"; } - -.fa-file-medical:before { - content: "\f477"; } - -.fa-file-medical-alt:before { - content: "\f478"; } - -.fa-file-pdf:before { - content: "\f1c1"; } - -.fa-file-powerpoint:before { - content: "\f1c4"; } - -.fa-file-prescription:before { - content: "\f572"; } - -.fa-file-signature:before { - content: "\f573"; } - -.fa-file-upload:before { - content: "\f574"; } - -.fa-file-video:before { - content: "\f1c8"; } - -.fa-file-word:before { - content: "\f1c2"; } - -.fa-fill:before { - content: "\f575"; } - -.fa-fill-drip:before { - content: "\f576"; } - -.fa-film:before { - content: "\f008"; } - -.fa-filter:before { - content: "\f0b0"; } - -.fa-fingerprint:before { - content: "\f577"; } - -.fa-fire:before { - content: "\f06d"; } - -.fa-fire-alt:before { - content: "\f7e4"; } - -.fa-fire-extinguisher:before { - content: "\f134"; } - -.fa-firefox:before { - content: "\f269"; } - -.fa-firefox-browser:before { - content: "\f907"; } - -.fa-first-aid:before { - content: "\f479"; } - -.fa-first-order:before { - content: "\f2b0"; } - -.fa-first-order-alt:before { - content: "\f50a"; } - -.fa-firstdraft:before { - content: "\f3a1"; } - -.fa-fish:before { - content: "\f578"; } - -.fa-fist-raised:before { - content: "\f6de"; } - -.fa-flag:before { - content: "\f024"; } - -.fa-flag-checkered:before { - content: "\f11e"; } - -.fa-flag-usa:before { - content: "\f74d"; } - -.fa-flask:before { - content: "\f0c3"; } - -.fa-flickr:before { - content: "\f16e"; } - -.fa-flipboard:before { - content: "\f44d"; } - -.fa-flushed:before { - content: "\f579"; } - -.fa-fly:before { - content: "\f417"; } - -.fa-folder:before { - content: "\f07b"; } - -.fa-folder-minus:before { - content: "\f65d"; } - -.fa-folder-open:before { - content: "\f07c"; } - -.fa-folder-plus:before { - content: "\f65e"; } - -.fa-font:before { - content: "\f031"; } - -.fa-font-awesome:before { - content: "\f2b4"; } - -.fa-font-awesome-alt:before { - content: "\f35c"; } - -.fa-font-awesome-flag:before { - content: "\f425"; } - -.fa-font-awesome-logo-full:before { - content: "\f4e6"; } - -.fa-fonticons:before { - content: "\f280"; } - -.fa-fonticons-fi:before { - content: "\f3a2"; } - -.fa-football-ball:before { - content: "\f44e"; } - -.fa-fort-awesome:before { - content: "\f286"; } - -.fa-fort-awesome-alt:before { - content: "\f3a3"; } - -.fa-forumbee:before { - content: "\f211"; } - -.fa-forward:before { - content: "\f04e"; } - -.fa-foursquare:before { - content: "\f180"; } - -.fa-free-code-camp:before { - content: "\f2c5"; } - -.fa-freebsd:before { - content: "\f3a4"; } - -.fa-frog:before { - content: "\f52e"; } - -.fa-frown:before { - content: "\f119"; } - -.fa-frown-open:before { - content: "\f57a"; } - -.fa-fulcrum:before { - content: "\f50b"; } - -.fa-funnel-dollar:before { - content: "\f662"; } - -.fa-futbol:before { - content: "\f1e3"; } - -.fa-galactic-republic:before { - content: "\f50c"; } - -.fa-galactic-senate:before { - content: "\f50d"; } - -.fa-gamepad:before { - content: "\f11b"; } - -.fa-gas-pump:before { - content: "\f52f"; } - -.fa-gavel:before { - content: "\f0e3"; } - -.fa-gem:before { - content: "\f3a5"; } - -.fa-genderless:before { - content: "\f22d"; } - -.fa-get-pocket:before { - content: "\f265"; } - -.fa-gg:before { - content: "\f260"; } - -.fa-gg-circle:before { - content: "\f261"; } - -.fa-ghost:before { - content: "\f6e2"; } - -.fa-gift:before { - content: "\f06b"; } - -.fa-gifts:before { - content: "\f79c"; } - -.fa-git:before { - content: "\f1d3"; } - -.fa-git-alt:before { - content: "\f841"; } - -.fa-git-square:before { - content: "\f1d2"; } - -.fa-github:before { - content: "\f09b"; } - -.fa-github-alt:before { - content: "\f113"; } - -.fa-github-square:before { - content: "\f092"; } - -.fa-gitkraken:before { - content: "\f3a6"; } - -.fa-gitlab:before { - content: "\f296"; } - -.fa-gitter:before { - content: "\f426"; } - -.fa-glass-cheers:before { - content: "\f79f"; } - -.fa-glass-martini:before { - content: "\f000"; } - -.fa-glass-martini-alt:before { - content: "\f57b"; } - -.fa-glass-whiskey:before { - content: "\f7a0"; } - -.fa-glasses:before { - content: "\f530"; } - -.fa-glide:before { - content: "\f2a5"; } - -.fa-glide-g:before { - content: "\f2a6"; } - -.fa-globe:before { - content: "\f0ac"; } - -.fa-globe-africa:before { - content: "\f57c"; } - -.fa-globe-americas:before { - content: "\f57d"; } - -.fa-globe-asia:before { - content: "\f57e"; } - -.fa-globe-europe:before { - content: "\f7a2"; } - -.fa-gofore:before { - content: "\f3a7"; } - -.fa-golf-ball:before { - content: "\f450"; } - -.fa-goodreads:before { - content: "\f3a8"; } - -.fa-goodreads-g:before { - content: "\f3a9"; } - -.fa-google:before { - content: "\f1a0"; } - -.fa-google-drive:before { - content: "\f3aa"; } - -.fa-google-pay:before { - content: "\f979"; } - -.fa-google-play:before { - content: "\f3ab"; } - -.fa-google-plus:before { - content: "\f2b3"; } - -.fa-google-plus-g:before { - content: "\f0d5"; } - -.fa-google-plus-square:before { - content: "\f0d4"; } - -.fa-google-wallet:before { - content: "\f1ee"; } - -.fa-gopuram:before { - content: "\f664"; } - -.fa-graduation-cap:before { - content: "\f19d"; } - -.fa-gratipay:before { - content: "\f184"; } - -.fa-grav:before { - content: "\f2d6"; } - -.fa-greater-than:before { - content: "\f531"; } - -.fa-greater-than-equal:before { - content: "\f532"; } - -.fa-grimace:before { - content: "\f57f"; } - -.fa-grin:before { - content: "\f580"; } - -.fa-grin-alt:before { - content: "\f581"; } - -.fa-grin-beam:before { - content: "\f582"; } - -.fa-grin-beam-sweat:before { - content: "\f583"; } - -.fa-grin-hearts:before { - content: "\f584"; } - -.fa-grin-squint:before { - content: "\f585"; } - -.fa-grin-squint-tears:before { - content: "\f586"; } - -.fa-grin-stars:before { - content: "\f587"; } - -.fa-grin-tears:before { - content: "\f588"; } - -.fa-grin-tongue:before { - content: "\f589"; } - -.fa-grin-tongue-squint:before { - content: "\f58a"; } - -.fa-grin-tongue-wink:before { - content: "\f58b"; } - -.fa-grin-wink:before { - content: "\f58c"; } - -.fa-grip-horizontal:before { - content: "\f58d"; } - -.fa-grip-lines:before { - content: "\f7a4"; } - -.fa-grip-lines-vertical:before { - content: "\f7a5"; } - -.fa-grip-vertical:before { - content: "\f58e"; } - -.fa-gripfire:before { - content: "\f3ac"; } - -.fa-grunt:before { - content: "\f3ad"; } - -.fa-guitar:before { - content: "\f7a6"; } - -.fa-gulp:before { - content: "\f3ae"; } - -.fa-h-square:before { - content: "\f0fd"; } - -.fa-hacker-news:before { - content: "\f1d4"; } - -.fa-hacker-news-square:before { - content: "\f3af"; } - -.fa-hackerrank:before { - content: "\f5f7"; } - -.fa-hamburger:before { - content: "\f805"; } - -.fa-hammer:before { - content: "\f6e3"; } - -.fa-hamsa:before { - content: "\f665"; } - -.fa-hand-holding:before { - content: "\f4bd"; } - -.fa-hand-holding-heart:before { - content: "\f4be"; } - -.fa-hand-holding-medical:before { - content: "\f95c"; } - -.fa-hand-holding-usd:before { - content: "\f4c0"; } - -.fa-hand-holding-water:before { - content: "\f4c1"; } - -.fa-hand-lizard:before { - content: "\f258"; } - -.fa-hand-middle-finger:before { - content: "\f806"; } - -.fa-hand-paper:before { - content: "\f256"; } - -.fa-hand-peace:before { - content: "\f25b"; } - -.fa-hand-point-down:before { - content: "\f0a7"; } - -.fa-hand-point-left:before { - content: "\f0a5"; } - -.fa-hand-point-right:before { - content: "\f0a4"; } - -.fa-hand-point-up:before { - content: "\f0a6"; } - -.fa-hand-pointer:before { - content: "\f25a"; } - -.fa-hand-rock:before { - content: "\f255"; } - -.fa-hand-scissors:before { - content: "\f257"; } - -.fa-hand-sparkles:before { - content: "\f95d"; } - -.fa-hand-spock:before { - content: "\f259"; } - -.fa-hands:before { - content: "\f4c2"; } - -.fa-hands-helping:before { - content: "\f4c4"; } - -.fa-hands-wash:before { - content: "\f95e"; } - -.fa-handshake:before { - content: "\f2b5"; } - -.fa-handshake-alt-slash:before { - content: "\f95f"; } - -.fa-handshake-slash:before { - content: "\f960"; } - -.fa-hanukiah:before { - content: "\f6e6"; } - -.fa-hard-hat:before { - content: "\f807"; } - -.fa-hashtag:before { - content: "\f292"; } - -.fa-hat-cowboy:before { - content: "\f8c0"; } - -.fa-hat-cowboy-side:before { - content: "\f8c1"; } - -.fa-hat-wizard:before { - content: "\f6e8"; } - -.fa-hdd:before { - content: "\f0a0"; } - -.fa-head-side-cough:before { - content: "\f961"; } - -.fa-head-side-cough-slash:before { - content: "\f962"; } - -.fa-head-side-mask:before { - content: "\f963"; } - -.fa-head-side-virus:before { - content: "\f964"; } - -.fa-heading:before { - content: "\f1dc"; } - -.fa-headphones:before { - content: "\f025"; } - -.fa-headphones-alt:before { - content: "\f58f"; } - -.fa-headset:before { - content: "\f590"; } - -.fa-heart:before { - content: "\f004"; } - -.fa-heart-broken:before { - content: "\f7a9"; } - -.fa-heartbeat:before { - content: "\f21e"; } - -.fa-helicopter:before { - content: "\f533"; } - -.fa-highlighter:before { - content: "\f591"; } - -.fa-hiking:before { - content: "\f6ec"; } - -.fa-hippo:before { - content: "\f6ed"; } - -.fa-hips:before { - content: "\f452"; } - -.fa-hire-a-helper:before { - content: "\f3b0"; } - -.fa-history:before { - content: "\f1da"; } - -.fa-hockey-puck:before { - content: "\f453"; } - -.fa-holly-berry:before { - content: "\f7aa"; } - -.fa-home:before { - content: "\f015"; } - -.fa-hooli:before { - content: "\f427"; } - -.fa-hornbill:before { - content: "\f592"; } - -.fa-horse:before { - content: "\f6f0"; } - -.fa-horse-head:before { - content: "\f7ab"; } - -.fa-hospital:before { - content: "\f0f8"; } - -.fa-hospital-alt:before { - content: "\f47d"; } - -.fa-hospital-symbol:before { - content: "\f47e"; } - -.fa-hospital-user:before { - content: "\f80d"; } - -.fa-hot-tub:before { - content: "\f593"; } - -.fa-hotdog:before { - content: "\f80f"; } - -.fa-hotel:before { - content: "\f594"; } - -.fa-hotjar:before { - content: "\f3b1"; } - -.fa-hourglass:before { - content: "\f254"; } - -.fa-hourglass-end:before { - content: "\f253"; } - -.fa-hourglass-half:before { - content: "\f252"; } - -.fa-hourglass-start:before { - content: "\f251"; } - -.fa-house-damage:before { - content: "\f6f1"; } - -.fa-house-user:before { - content: "\f965"; } - -.fa-houzz:before { - content: "\f27c"; } - -.fa-hryvnia:before { - content: "\f6f2"; } - -.fa-html5:before { - content: "\f13b"; } - -.fa-hubspot:before { - content: "\f3b2"; } - -.fa-i-cursor:before { - content: "\f246"; } - -.fa-ice-cream:before { - content: "\f810"; } - -.fa-icicles:before { - content: "\f7ad"; } - -.fa-icons:before { - content: "\f86d"; } - -.fa-id-badge:before { - content: "\f2c1"; } - -.fa-id-card:before { - content: "\f2c2"; } - -.fa-id-card-alt:before { - content: "\f47f"; } - -.fa-ideal:before { - content: "\f913"; } - -.fa-igloo:before { - content: "\f7ae"; } - -.fa-image:before { - content: "\f03e"; } - -.fa-images:before { - content: "\f302"; } - -.fa-imdb:before { - content: "\f2d8"; } - -.fa-inbox:before { - content: "\f01c"; } - -.fa-indent:before { - content: "\f03c"; } - -.fa-industry:before { - content: "\f275"; } - -.fa-infinity:before { - content: "\f534"; } - -.fa-info:before { - content: "\f129"; } - -.fa-info-circle:before { - content: "\f05a"; } - -.fa-instagram:before { - content: "\f16d"; } - -.fa-instagram-square:before { - content: "\f955"; } - -.fa-intercom:before { - content: "\f7af"; } - -.fa-internet-explorer:before { - content: "\f26b"; } - -.fa-invision:before { - content: "\f7b0"; } - -.fa-ioxhost:before { - content: "\f208"; } - -.fa-italic:before { - content: "\f033"; } - -.fa-itch-io:before { - content: "\f83a"; } - -.fa-itunes:before { - content: "\f3b4"; } - -.fa-itunes-note:before { - content: "\f3b5"; } - -.fa-java:before { - content: "\f4e4"; } - -.fa-jedi:before { - content: "\f669"; } - -.fa-jedi-order:before { - content: "\f50e"; } - -.fa-jenkins:before { - content: "\f3b6"; } - -.fa-jira:before { - content: "\f7b1"; } - -.fa-joget:before { - content: "\f3b7"; } - -.fa-joint:before { - content: "\f595"; } - -.fa-joomla:before { - content: "\f1aa"; } - -.fa-journal-whills:before { - content: "\f66a"; } - -.fa-js:before { - content: "\f3b8"; } - -.fa-js-square:before { - content: "\f3b9"; } - -.fa-jsfiddle:before { - content: "\f1cc"; } - -.fa-kaaba:before { - content: "\f66b"; } - -.fa-kaggle:before { - content: "\f5fa"; } - -.fa-key:before { - content: "\f084"; } - -.fa-keybase:before { - content: "\f4f5"; } - -.fa-keyboard:before { - content: "\f11c"; } - -.fa-keycdn:before { - content: "\f3ba"; } - -.fa-khanda:before { - content: "\f66d"; } - -.fa-kickstarter:before { - content: "\f3bb"; } - -.fa-kickstarter-k:before { - content: "\f3bc"; } - -.fa-kiss:before { - content: "\f596"; } - -.fa-kiss-beam:before { - content: "\f597"; } - -.fa-kiss-wink-heart:before { - content: "\f598"; } - -.fa-kiwi-bird:before { - content: "\f535"; } - -.fa-korvue:before { - content: "\f42f"; } - -.fa-landmark:before { - content: "\f66f"; } - -.fa-language:before { - content: "\f1ab"; } - -.fa-laptop:before { - content: "\f109"; } - -.fa-laptop-code:before { - content: "\f5fc"; } - -.fa-laptop-house:before { - content: "\f966"; } - -.fa-laptop-medical:before { - content: "\f812"; } - -.fa-laravel:before { - content: "\f3bd"; } - -.fa-lastfm:before { - content: "\f202"; } - -.fa-lastfm-square:before { - content: "\f203"; } - -.fa-laugh:before { - content: "\f599"; } - -.fa-laugh-beam:before { - content: "\f59a"; } - -.fa-laugh-squint:before { - content: "\f59b"; } - -.fa-laugh-wink:before { - content: "\f59c"; } - -.fa-layer-group:before { - content: "\f5fd"; } - -.fa-leaf:before { - content: "\f06c"; } - -.fa-leanpub:before { - content: "\f212"; } - -.fa-lemon:before { - content: "\f094"; } - -.fa-less:before { - content: "\f41d"; } - -.fa-less-than:before { - content: "\f536"; } - -.fa-less-than-equal:before { - content: "\f537"; } - -.fa-level-down-alt:before { - content: "\f3be"; } - -.fa-level-up-alt:before { - content: "\f3bf"; } - -.fa-life-ring:before { - content: "\f1cd"; } - -.fa-lightbulb:before { - content: "\f0eb"; } - -.fa-line:before { - content: "\f3c0"; } - -.fa-link:before { - content: "\f0c1"; } - -.fa-linkedin:before { - content: "\f08c"; } - -.fa-linkedin-in:before { - content: "\f0e1"; } - -.fa-linode:before { - content: "\f2b8"; } - -.fa-linux:before { - content: "\f17c"; } - -.fa-lira-sign:before { - content: "\f195"; } - -.fa-list:before { - content: "\f03a"; } - -.fa-list-alt:before { - content: "\f022"; } - -.fa-list-ol:before { - content: "\f0cb"; } - -.fa-list-ul:before { - content: "\f0ca"; } - -.fa-location-arrow:before { - content: "\f124"; } - -.fa-lock:before { - content: "\f023"; } - -.fa-lock-open:before { - content: "\f3c1"; } - -.fa-long-arrow-alt-down:before { - content: "\f309"; } - -.fa-long-arrow-alt-left:before { - content: "\f30a"; } - -.fa-long-arrow-alt-right:before { - content: "\f30b"; } - -.fa-long-arrow-alt-up:before { - content: "\f30c"; } - -.fa-low-vision:before { - content: "\f2a8"; } - -.fa-luggage-cart:before { - content: "\f59d"; } - -.fa-lungs:before { - content: "\f604"; } - -.fa-lungs-virus:before { - content: "\f967"; } - -.fa-lyft:before { - content: "\f3c3"; } - -.fa-magento:before { - content: "\f3c4"; } - -.fa-magic:before { - content: "\f0d0"; } - -.fa-magnet:before { - content: "\f076"; } - -.fa-mail-bulk:before { - content: "\f674"; } - -.fa-mailchimp:before { - content: "\f59e"; } - -.fa-male:before { - content: "\f183"; } - -.fa-mandalorian:before { - content: "\f50f"; } - -.fa-map:before { - content: "\f279"; } - -.fa-map-marked:before { - content: "\f59f"; } - -.fa-map-marked-alt:before { - content: "\f5a0"; } - -.fa-map-marker:before { - content: "\f041"; } - -.fa-map-marker-alt:before { - content: "\f3c5"; } - -.fa-map-pin:before { - content: "\f276"; } - -.fa-map-signs:before { - content: "\f277"; } - -.fa-markdown:before { - content: "\f60f"; } - -.fa-marker:before { - content: "\f5a1"; } - -.fa-mars:before { - content: "\f222"; } - -.fa-mars-double:before { - content: "\f227"; } - -.fa-mars-stroke:before { - content: "\f229"; } - -.fa-mars-stroke-h:before { - content: "\f22b"; } - -.fa-mars-stroke-v:before { - content: "\f22a"; } - -.fa-mask:before { - content: "\f6fa"; } - -.fa-mastodon:before { - content: "\f4f6"; } - -.fa-maxcdn:before { - content: "\f136"; } - -.fa-mdb:before { - content: "\f8ca"; } - -.fa-medal:before { - content: "\f5a2"; } - -.fa-medapps:before { - content: "\f3c6"; } - -.fa-medium:before { - content: "\f23a"; } - -.fa-medium-m:before { - content: "\f3c7"; } - -.fa-medkit:before { - content: "\f0fa"; } - -.fa-medrt:before { - content: "\f3c8"; } - -.fa-meetup:before { - content: "\f2e0"; } - -.fa-megaport:before { - content: "\f5a3"; } - -.fa-meh:before { - content: "\f11a"; } - -.fa-meh-blank:before { - content: "\f5a4"; } - -.fa-meh-rolling-eyes:before { - content: "\f5a5"; } - -.fa-memory:before { - content: "\f538"; } - -.fa-mendeley:before { - content: "\f7b3"; } - -.fa-menorah:before { - content: "\f676"; } - -.fa-mercury:before { - content: "\f223"; } - -.fa-meteor:before { - content: "\f753"; } - -.fa-microblog:before { - content: "\f91a"; } - -.fa-microchip:before { - content: "\f2db"; } - -.fa-microphone:before { - content: "\f130"; } - -.fa-microphone-alt:before { - content: "\f3c9"; } - -.fa-microphone-alt-slash:before { - content: "\f539"; } - -.fa-microphone-slash:before { - content: "\f131"; } - -.fa-microscope:before { - content: "\f610"; } - -.fa-microsoft:before { - content: "\f3ca"; } - -.fa-minus:before { - content: "\f068"; } - -.fa-minus-circle:before { - content: "\f056"; } - -.fa-minus-square:before { - content: "\f146"; } - -.fa-mitten:before { - content: "\f7b5"; } - -.fa-mix:before { - content: "\f3cb"; } - -.fa-mixcloud:before { - content: "\f289"; } - -.fa-mixer:before { - content: "\f956"; } - -.fa-mizuni:before { - content: "\f3cc"; } - -.fa-mobile:before { - content: "\f10b"; } - -.fa-mobile-alt:before { - content: "\f3cd"; } - -.fa-modx:before { - content: "\f285"; } - -.fa-monero:before { - content: "\f3d0"; } - -.fa-money-bill:before { - content: "\f0d6"; } - -.fa-money-bill-alt:before { - content: "\f3d1"; } - -.fa-money-bill-wave:before { - content: "\f53a"; } - -.fa-money-bill-wave-alt:before { - content: "\f53b"; } - -.fa-money-check:before { - content: "\f53c"; } - -.fa-money-check-alt:before { - content: "\f53d"; } - -.fa-monument:before { - content: "\f5a6"; } - -.fa-moon:before { - content: "\f186"; } - -.fa-mortar-pestle:before { - content: "\f5a7"; } - -.fa-mosque:before { - content: "\f678"; } - -.fa-motorcycle:before { - content: "\f21c"; } - -.fa-mountain:before { - content: "\f6fc"; } - -.fa-mouse:before { - content: "\f8cc"; } - -.fa-mouse-pointer:before { - content: "\f245"; } - -.fa-mug-hot:before { - content: "\f7b6"; } - -.fa-music:before { - content: "\f001"; } - -.fa-napster:before { - content: "\f3d2"; } - -.fa-neos:before { - content: "\f612"; } - -.fa-network-wired:before { - content: "\f6ff"; } - -.fa-neuter:before { - content: "\f22c"; } - -.fa-newspaper:before { - content: "\f1ea"; } - -.fa-nimblr:before { - content: "\f5a8"; } - -.fa-node:before { - content: "\f419"; } - -.fa-node-js:before { - content: "\f3d3"; } - -.fa-not-equal:before { - content: "\f53e"; } - -.fa-notes-medical:before { - content: "\f481"; } - -.fa-npm:before { - content: "\f3d4"; } - -.fa-ns8:before { - content: "\f3d5"; } - -.fa-nutritionix:before { - content: "\f3d6"; } - -.fa-object-group:before { - content: "\f247"; } - -.fa-object-ungroup:before { - content: "\f248"; } - -.fa-odnoklassniki:before { - content: "\f263"; } - -.fa-odnoklassniki-square:before { - content: "\f264"; } - -.fa-oil-can:before { - content: "\f613"; } - -.fa-old-republic:before { - content: "\f510"; } - -.fa-om:before { - content: "\f679"; } - -.fa-opencart:before { - content: "\f23d"; } - -.fa-openid:before { - content: "\f19b"; } - -.fa-opera:before { - content: "\f26a"; } - -.fa-optin-monster:before { - content: "\f23c"; } - -.fa-orcid:before { - content: "\f8d2"; } - -.fa-osi:before { - content: "\f41a"; } - -.fa-otter:before { - content: "\f700"; } - -.fa-outdent:before { - content: "\f03b"; } - -.fa-page4:before { - content: "\f3d7"; } - -.fa-pagelines:before { - content: "\f18c"; } - -.fa-pager:before { - content: "\f815"; } - -.fa-paint-brush:before { - content: "\f1fc"; } - -.fa-paint-roller:before { - content: "\f5aa"; } - -.fa-palette:before { - content: "\f53f"; } - -.fa-palfed:before { - content: "\f3d8"; } - -.fa-pallet:before { - content: "\f482"; } - -.fa-paper-plane:before { - content: "\f1d8"; } - -.fa-paperclip:before { - content: "\f0c6"; } - -.fa-parachute-box:before { - content: "\f4cd"; } - -.fa-paragraph:before { - content: "\f1dd"; } - -.fa-parking:before { - content: "\f540"; } - -.fa-passport:before { - content: "\f5ab"; } - -.fa-pastafarianism:before { - content: "\f67b"; } - -.fa-paste:before { - content: "\f0ea"; } - -.fa-patreon:before { - content: "\f3d9"; } - -.fa-pause:before { - content: "\f04c"; } - -.fa-pause-circle:before { - content: "\f28b"; } - -.fa-paw:before { - content: "\f1b0"; } - -.fa-paypal:before { - content: "\f1ed"; } - -.fa-peace:before { - content: "\f67c"; } - -.fa-pen:before { - content: "\f304"; } - -.fa-pen-alt:before { - content: "\f305"; } - -.fa-pen-fancy:before { - content: "\f5ac"; } - -.fa-pen-nib:before { - content: "\f5ad"; } - -.fa-pen-square:before { - content: "\f14b"; } - -.fa-pencil-alt:before { - content: "\f303"; } - -.fa-pencil-ruler:before { - content: "\f5ae"; } - -.fa-penny-arcade:before { - content: "\f704"; } - -.fa-people-arrows:before { - content: "\f968"; } - -.fa-people-carry:before { - content: "\f4ce"; } - -.fa-pepper-hot:before { - content: "\f816"; } - -.fa-percent:before { - content: "\f295"; } - -.fa-percentage:before { - content: "\f541"; } - -.fa-periscope:before { - content: "\f3da"; } - -.fa-person-booth:before { - content: "\f756"; } - -.fa-phabricator:before { - content: "\f3db"; } - -.fa-phoenix-framework:before { - content: "\f3dc"; } - -.fa-phoenix-squadron:before { - content: "\f511"; } - -.fa-phone:before { - content: "\f095"; } - -.fa-phone-alt:before { - content: "\f879"; } - -.fa-phone-slash:before { - content: "\f3dd"; } - -.fa-phone-square:before { - content: "\f098"; } - -.fa-phone-square-alt:before { - content: "\f87b"; } - -.fa-phone-volume:before { - content: "\f2a0"; } - -.fa-photo-video:before { - content: "\f87c"; } - -.fa-php:before { - content: "\f457"; } - -.fa-pied-piper:before { - content: "\f2ae"; } - -.fa-pied-piper-alt:before { - content: "\f1a8"; } - -.fa-pied-piper-hat:before { - content: "\f4e5"; } - -.fa-pied-piper-pp:before { - content: "\f1a7"; } - -.fa-pied-piper-square:before { - content: "\f91e"; } - -.fa-piggy-bank:before { - content: "\f4d3"; } - -.fa-pills:before { - content: "\f484"; } - -.fa-pinterest:before { - content: "\f0d2"; } - -.fa-pinterest-p:before { - content: "\f231"; } - -.fa-pinterest-square:before { - content: "\f0d3"; } - -.fa-pizza-slice:before { - content: "\f818"; } - -.fa-place-of-worship:before { - content: "\f67f"; } - -.fa-plane:before { - content: "\f072"; } - -.fa-plane-arrival:before { - content: "\f5af"; } - -.fa-plane-departure:before { - content: "\f5b0"; } - -.fa-plane-slash:before { - content: "\f969"; } - -.fa-play:before { - content: "\f04b"; } - -.fa-play-circle:before { - content: "\f144"; } - -.fa-playstation:before { - content: "\f3df"; } - -.fa-plug:before { - content: "\f1e6"; } - -.fa-plus:before { - content: "\f067"; } - -.fa-plus-circle:before { - content: "\f055"; } - -.fa-plus-square:before { - content: "\f0fe"; } - -.fa-podcast:before { - content: "\f2ce"; } - -.fa-poll:before { - content: "\f681"; } - -.fa-poll-h:before { - content: "\f682"; } - -.fa-poo:before { - content: "\f2fe"; } - -.fa-poo-storm:before { - content: "\f75a"; } - -.fa-poop:before { - content: "\f619"; } - -.fa-portrait:before { - content: "\f3e0"; } - -.fa-pound-sign:before { - content: "\f154"; } - -.fa-power-off:before { - content: "\f011"; } - -.fa-pray:before { - content: "\f683"; } - -.fa-praying-hands:before { - content: "\f684"; } - -.fa-prescription:before { - content: "\f5b1"; } - -.fa-prescription-bottle:before { - content: "\f485"; } - -.fa-prescription-bottle-alt:before { - content: "\f486"; } - -.fa-print:before { - content: "\f02f"; } - -.fa-procedures:before { - content: "\f487"; } - -.fa-product-hunt:before { - content: "\f288"; } - -.fa-project-diagram:before { - content: "\f542"; } - -.fa-pump-medical:before { - content: "\f96a"; } - -.fa-pump-soap:before { - content: "\f96b"; } - -.fa-pushed:before { - content: "\f3e1"; } - -.fa-puzzle-piece:before { - content: "\f12e"; } - -.fa-python:before { - content: "\f3e2"; } - -.fa-qq:before { - content: "\f1d6"; } - -.fa-qrcode:before { - content: "\f029"; } - -.fa-question:before { - content: "\f128"; } - -.fa-question-circle:before { - content: "\f059"; } - -.fa-quidditch:before { - content: "\f458"; } - -.fa-quinscape:before { - content: "\f459"; } - -.fa-quora:before { - content: "\f2c4"; } - -.fa-quote-left:before { - content: "\f10d"; } - -.fa-quote-right:before { - content: "\f10e"; } - -.fa-quran:before { - content: "\f687"; } - -.fa-r-project:before { - content: "\f4f7"; } - -.fa-radiation:before { - content: "\f7b9"; } - -.fa-radiation-alt:before { - content: "\f7ba"; } - -.fa-rainbow:before { - content: "\f75b"; } - -.fa-random:before { - content: "\f074"; } - -.fa-raspberry-pi:before { - content: "\f7bb"; } - -.fa-ravelry:before { - content: "\f2d9"; } - -.fa-react:before { - content: "\f41b"; } - -.fa-reacteurope:before { - content: "\f75d"; } - -.fa-readme:before { - content: "\f4d5"; } - -.fa-rebel:before { - content: "\f1d0"; } - -.fa-receipt:before { - content: "\f543"; } - -.fa-record-vinyl:before { - content: "\f8d9"; } - -.fa-recycle:before { - content: "\f1b8"; } - -.fa-red-river:before { - content: "\f3e3"; } - -.fa-reddit:before { - content: "\f1a1"; } - -.fa-reddit-alien:before { - content: "\f281"; } - -.fa-reddit-square:before { - content: "\f1a2"; } - -.fa-redhat:before { - content: "\f7bc"; } - -.fa-redo:before { - content: "\f01e"; } - -.fa-redo-alt:before { - content: "\f2f9"; } - -.fa-registered:before { - content: "\f25d"; } - -.fa-remove-format:before { - content: "\f87d"; } - -.fa-renren:before { - content: "\f18b"; } - -.fa-reply:before { - content: "\f3e5"; } - -.fa-reply-all:before { - content: "\f122"; } - -.fa-replyd:before { - content: "\f3e6"; } - -.fa-republican:before { - content: "\f75e"; } - -.fa-researchgate:before { - content: "\f4f8"; } - -.fa-resolving:before { - content: "\f3e7"; } - -.fa-restroom:before { - content: "\f7bd"; } - -.fa-retweet:before { - content: "\f079"; } - -.fa-rev:before { - content: "\f5b2"; } - -.fa-ribbon:before { - content: "\f4d6"; } - -.fa-ring:before { - content: "\f70b"; } - -.fa-road:before { - content: "\f018"; } - -.fa-robot:before { - content: "\f544"; } - -.fa-rocket:before { - content: "\f135"; } - -.fa-rocketchat:before { - content: "\f3e8"; } - -.fa-rockrms:before { - content: "\f3e9"; } - -.fa-route:before { - content: "\f4d7"; } - -.fa-rss:before { - content: "\f09e"; } - -.fa-rss-square:before { - content: "\f143"; } - -.fa-ruble-sign:before { - content: "\f158"; } - -.fa-ruler:before { - content: "\f545"; } - -.fa-ruler-combined:before { - content: "\f546"; } - -.fa-ruler-horizontal:before { - content: "\f547"; } - -.fa-ruler-vertical:before { - content: "\f548"; } - -.fa-running:before { - content: "\f70c"; } - -.fa-rupee-sign:before { - content: "\f156"; } - -.fa-rust:before { - content: "\f97a"; } - -.fa-sad-cry:before { - content: "\f5b3"; } - -.fa-sad-tear:before { - content: "\f5b4"; } - -.fa-safari:before { - content: "\f267"; } - -.fa-salesforce:before { - content: "\f83b"; } - -.fa-sass:before { - content: "\f41e"; } - -.fa-satellite:before { - content: "\f7bf"; } - -.fa-satellite-dish:before { - content: "\f7c0"; } - -.fa-save:before { - content: "\f0c7"; } - -.fa-schlix:before { - content: "\f3ea"; } - -.fa-school:before { - content: "\f549"; } - -.fa-screwdriver:before { - content: "\f54a"; } - -.fa-scribd:before { - content: "\f28a"; } - -.fa-scroll:before { - content: "\f70e"; } - -.fa-sd-card:before { - content: "\f7c2"; } - -.fa-search:before { - content: "\f002"; } - -.fa-search-dollar:before { - content: "\f688"; } - -.fa-search-location:before { - content: "\f689"; } - -.fa-search-minus:before { - content: "\f010"; } - -.fa-search-plus:before { - content: "\f00e"; } - -.fa-searchengin:before { - content: "\f3eb"; } - -.fa-seedling:before { - content: "\f4d8"; } - -.fa-sellcast:before { - content: "\f2da"; } - -.fa-sellsy:before { - content: "\f213"; } - -.fa-server:before { - content: "\f233"; } - -.fa-servicestack:before { - content: "\f3ec"; } - -.fa-shapes:before { - content: "\f61f"; } - -.fa-share:before { - content: "\f064"; } - -.fa-share-alt:before { - content: "\f1e0"; } - -.fa-share-alt-square:before { - content: "\f1e1"; } - -.fa-share-square:before { - content: "\f14d"; } - -.fa-shekel-sign:before { - content: "\f20b"; } - -.fa-shield-alt:before { - content: "\f3ed"; } - -.fa-shield-virus:before { - content: "\f96c"; } - -.fa-ship:before { - content: "\f21a"; } - -.fa-shipping-fast:before { - content: "\f48b"; } - -.fa-shirtsinbulk:before { - content: "\f214"; } - -.fa-shoe-prints:before { - content: "\f54b"; } - -.fa-shopify:before { - content: "\f957"; } - -.fa-shopping-bag:before { - content: "\f290"; } - -.fa-shopping-basket:before { - content: "\f291"; } - -.fa-shopping-cart:before { - content: "\f07a"; } - -.fa-shopware:before { - content: "\f5b5"; } - -.fa-shower:before { - content: "\f2cc"; } - -.fa-shuttle-van:before { - content: "\f5b6"; } - -.fa-sign:before { - content: "\f4d9"; } - -.fa-sign-in-alt:before { - content: "\f2f6"; } - -.fa-sign-language:before { - content: "\f2a7"; } - -.fa-sign-out-alt:before { - content: "\f2f5"; } - -.fa-signal:before { - content: "\f012"; } - -.fa-signature:before { - content: "\f5b7"; } - -.fa-sim-card:before { - content: "\f7c4"; } - -.fa-simplybuilt:before { - content: "\f215"; } - -.fa-sink:before { - content: "\f96d"; } - -.fa-sistrix:before { - content: "\f3ee"; } - -.fa-sitemap:before { - content: "\f0e8"; } - -.fa-sith:before { - content: "\f512"; } - -.fa-skating:before { - content: "\f7c5"; } - -.fa-sketch:before { - content: "\f7c6"; } - -.fa-skiing:before { - content: "\f7c9"; } - -.fa-skiing-nordic:before { - content: "\f7ca"; } - -.fa-skull:before { - content: "\f54c"; } - -.fa-skull-crossbones:before { - content: "\f714"; } - -.fa-skyatlas:before { - content: "\f216"; } - -.fa-skype:before { - content: "\f17e"; } - -.fa-slack:before { - content: "\f198"; } - -.fa-slack-hash:before { - content: "\f3ef"; } - -.fa-slash:before { - content: "\f715"; } - -.fa-sleigh:before { - content: "\f7cc"; } - -.fa-sliders-h:before { - content: "\f1de"; } - -.fa-slideshare:before { - content: "\f1e7"; } - -.fa-smile:before { - content: "\f118"; } - -.fa-smile-beam:before { - content: "\f5b8"; } - -.fa-smile-wink:before { - content: "\f4da"; } - -.fa-smog:before { - content: "\f75f"; } - -.fa-smoking:before { - content: "\f48d"; } - -.fa-smoking-ban:before { - content: "\f54d"; } - -.fa-sms:before { - content: "\f7cd"; } - -.fa-snapchat:before { - content: "\f2ab"; } - -.fa-snapchat-ghost:before { - content: "\f2ac"; } - -.fa-snapchat-square:before { - content: "\f2ad"; } - -.fa-snowboarding:before { - content: "\f7ce"; } - -.fa-snowflake:before { - content: "\f2dc"; } - -.fa-snowman:before { - content: "\f7d0"; } - -.fa-snowplow:before { - content: "\f7d2"; } - -.fa-soap:before { - content: "\f96e"; } - -.fa-socks:before { - content: "\f696"; } - -.fa-solar-panel:before { - content: "\f5ba"; } - -.fa-sort:before { - content: "\f0dc"; } - -.fa-sort-alpha-down:before { - content: "\f15d"; } - -.fa-sort-alpha-down-alt:before { - content: "\f881"; } - -.fa-sort-alpha-up:before { - content: "\f15e"; } - -.fa-sort-alpha-up-alt:before { - content: "\f882"; } - -.fa-sort-amount-down:before { - content: "\f160"; } - -.fa-sort-amount-down-alt:before { - content: "\f884"; } - -.fa-sort-amount-up:before { - content: "\f161"; } - -.fa-sort-amount-up-alt:before { - content: "\f885"; } - -.fa-sort-down:before { - content: "\f0dd"; } - -.fa-sort-numeric-down:before { - content: "\f162"; } - -.fa-sort-numeric-down-alt:before { - content: "\f886"; } - -.fa-sort-numeric-up:before { - content: "\f163"; } - -.fa-sort-numeric-up-alt:before { - content: "\f887"; } - -.fa-sort-up:before { - content: "\f0de"; } - -.fa-soundcloud:before { - content: "\f1be"; } - -.fa-sourcetree:before { - content: "\f7d3"; } - -.fa-spa:before { - content: "\f5bb"; } - -.fa-space-shuttle:before { - content: "\f197"; } - -.fa-speakap:before { - content: "\f3f3"; } - -.fa-speaker-deck:before { - content: "\f83c"; } - -.fa-spell-check:before { - content: "\f891"; } - -.fa-spider:before { - content: "\f717"; } - -.fa-spinner:before { - content: "\f110"; } - -.fa-splotch:before { - content: "\f5bc"; } - -.fa-spotify:before { - content: "\f1bc"; } - -.fa-spray-can:before { - content: "\f5bd"; } - -.fa-square:before { - content: "\f0c8"; } - -.fa-square-full:before { - content: "\f45c"; } - -.fa-square-root-alt:before { - content: "\f698"; } - -.fa-squarespace:before { - content: "\f5be"; } - -.fa-stack-exchange:before { - content: "\f18d"; } - -.fa-stack-overflow:before { - content: "\f16c"; } - -.fa-stackpath:before { - content: "\f842"; } - -.fa-stamp:before { - content: "\f5bf"; } - -.fa-star:before { - content: "\f005"; } - -.fa-star-and-crescent:before { - content: "\f699"; } - -.fa-star-half:before { - content: "\f089"; } - -.fa-star-half-alt:before { - content: "\f5c0"; } - -.fa-star-of-david:before { - content: "\f69a"; } - -.fa-star-of-life:before { - content: "\f621"; } - -.fa-staylinked:before { - content: "\f3f5"; } - -.fa-steam:before { - content: "\f1b6"; } - -.fa-steam-square:before { - content: "\f1b7"; } - -.fa-steam-symbol:before { - content: "\f3f6"; } - -.fa-step-backward:before { - content: "\f048"; } - -.fa-step-forward:before { - content: "\f051"; } - -.fa-stethoscope:before { - content: "\f0f1"; } - -.fa-sticker-mule:before { - content: "\f3f7"; } - -.fa-sticky-note:before { - content: "\f249"; } - -.fa-stop:before { - content: "\f04d"; } - -.fa-stop-circle:before { - content: "\f28d"; } - -.fa-stopwatch:before { - content: "\f2f2"; } - -.fa-stopwatch-20:before { - content: "\f96f"; } - -.fa-store:before { - content: "\f54e"; } - -.fa-store-alt:before { - content: "\f54f"; } - -.fa-store-alt-slash:before { - content: "\f970"; } - -.fa-store-slash:before { - content: "\f971"; } - -.fa-strava:before { - content: "\f428"; } - -.fa-stream:before { - content: "\f550"; } - -.fa-street-view:before { - content: "\f21d"; } - -.fa-strikethrough:before { - content: "\f0cc"; } - -.fa-stripe:before { - content: "\f429"; } - -.fa-stripe-s:before { - content: "\f42a"; } - -.fa-stroopwafel:before { - content: "\f551"; } - -.fa-studiovinari:before { - content: "\f3f8"; } - -.fa-stumbleupon:before { - content: "\f1a4"; } - -.fa-stumbleupon-circle:before { - content: "\f1a3"; } - -.fa-subscript:before { - content: "\f12c"; } - -.fa-subway:before { - content: "\f239"; } - -.fa-suitcase:before { - content: "\f0f2"; } - -.fa-suitcase-rolling:before { - content: "\f5c1"; } - -.fa-sun:before { - content: "\f185"; } - -.fa-superpowers:before { - content: "\f2dd"; } - -.fa-superscript:before { - content: "\f12b"; } - -.fa-supple:before { - content: "\f3f9"; } - -.fa-surprise:before { - content: "\f5c2"; } - -.fa-suse:before { - content: "\f7d6"; } - -.fa-swatchbook:before { - content: "\f5c3"; } - -.fa-swift:before { - content: "\f8e1"; } - -.fa-swimmer:before { - content: "\f5c4"; } - -.fa-swimming-pool:before { - content: "\f5c5"; } - -.fa-symfony:before { - content: "\f83d"; } - -.fa-synagogue:before { - content: "\f69b"; } - -.fa-sync:before { - content: "\f021"; } - -.fa-sync-alt:before { - content: "\f2f1"; } - -.fa-syringe:before { - content: "\f48e"; } - -.fa-table:before { - content: "\f0ce"; } - -.fa-table-tennis:before { - content: "\f45d"; } - -.fa-tablet:before { - content: "\f10a"; } - -.fa-tablet-alt:before { - content: "\f3fa"; } - -.fa-tablets:before { - content: "\f490"; } - -.fa-tachometer-alt:before { - content: "\f3fd"; } - -.fa-tag:before { - content: "\f02b"; } - -.fa-tags:before { - content: "\f02c"; } - -.fa-tape:before { - content: "\f4db"; } - -.fa-tasks:before { - content: "\f0ae"; } - -.fa-taxi:before { - content: "\f1ba"; } - -.fa-teamspeak:before { - content: "\f4f9"; } - -.fa-teeth:before { - content: "\f62e"; } - -.fa-teeth-open:before { - content: "\f62f"; } - -.fa-telegram:before { - content: "\f2c6"; } - -.fa-telegram-plane:before { - content: "\f3fe"; } - -.fa-temperature-high:before { - content: "\f769"; } - -.fa-temperature-low:before { - content: "\f76b"; } - -.fa-tencent-weibo:before { - content: "\f1d5"; } - -.fa-tenge:before { - content: "\f7d7"; } - -.fa-terminal:before { - content: "\f120"; } - -.fa-text-height:before { - content: "\f034"; } - -.fa-text-width:before { - content: "\f035"; } - -.fa-th:before { - content: "\f00a"; } - -.fa-th-large:before { - content: "\f009"; } - -.fa-th-list:before { - content: "\f00b"; } - -.fa-the-red-yeti:before { - content: "\f69d"; } - -.fa-theater-masks:before { - content: "\f630"; } - -.fa-themeco:before { - content: "\f5c6"; } - -.fa-themeisle:before { - content: "\f2b2"; } - -.fa-thermometer:before { - content: "\f491"; } - -.fa-thermometer-empty:before { - content: "\f2cb"; } - -.fa-thermometer-full:before { - content: "\f2c7"; } - -.fa-thermometer-half:before { - content: "\f2c9"; } - -.fa-thermometer-quarter:before { - content: "\f2ca"; } - -.fa-thermometer-three-quarters:before { - content: "\f2c8"; } - -.fa-think-peaks:before { - content: "\f731"; } - -.fa-thumbs-down:before { - content: "\f165"; } - -.fa-thumbs-up:before { - content: "\f164"; } - -.fa-thumbtack:before { - content: "\f08d"; } - -.fa-ticket-alt:before { - content: "\f3ff"; } - -.fa-tiktok:before { - content: "\f97b"; } - -.fa-times:before { - content: "\f00d"; } - -.fa-times-circle:before { - content: "\f057"; } - -.fa-tint:before { - content: "\f043"; } - -.fa-tint-slash:before { - content: "\f5c7"; } - -.fa-tired:before { - content: "\f5c8"; } - -.fa-toggle-off:before { - content: "\f204"; } - -.fa-toggle-on:before { - content: "\f205"; } - -.fa-toilet:before { - content: "\f7d8"; } - -.fa-toilet-paper:before { - content: "\f71e"; } - -.fa-toilet-paper-slash:before { - content: "\f972"; } - -.fa-toolbox:before { - content: "\f552"; } - -.fa-tools:before { - content: "\f7d9"; } - -.fa-tooth:before { - content: "\f5c9"; } - -.fa-torah:before { - content: "\f6a0"; } - -.fa-torii-gate:before { - content: "\f6a1"; } - -.fa-tractor:before { - content: "\f722"; } - -.fa-trade-federation:before { - content: "\f513"; } - -.fa-trademark:before { - content: "\f25c"; } - -.fa-traffic-light:before { - content: "\f637"; } - -.fa-trailer:before { - content: "\f941"; } - -.fa-train:before { - content: "\f238"; } - -.fa-tram:before { - content: "\f7da"; } - -.fa-transgender:before { - content: "\f224"; } - -.fa-transgender-alt:before { - content: "\f225"; } - -.fa-trash:before { - content: "\f1f8"; } - -.fa-trash-alt:before { - content: "\f2ed"; } - -.fa-trash-restore:before { - content: "\f829"; } - -.fa-trash-restore-alt:before { - content: "\f82a"; } - -.fa-tree:before { - content: "\f1bb"; } - -.fa-trello:before { - content: "\f181"; } - -.fa-tripadvisor:before { - content: "\f262"; } - -.fa-trophy:before { - content: "\f091"; } - -.fa-truck:before { - content: "\f0d1"; } - -.fa-truck-loading:before { - content: "\f4de"; } - -.fa-truck-monster:before { - content: "\f63b"; } - -.fa-truck-moving:before { - content: "\f4df"; } - -.fa-truck-pickup:before { - content: "\f63c"; } - -.fa-tshirt:before { - content: "\f553"; } - -.fa-tty:before { - content: "\f1e4"; } - -.fa-tumblr:before { - content: "\f173"; } - -.fa-tumblr-square:before { - content: "\f174"; } - -.fa-tv:before { - content: "\f26c"; } - -.fa-twitch:before { - content: "\f1e8"; } - -.fa-twitter:before { - content: "\f099"; } - -.fa-twitter-square:before { - content: "\f081"; } - -.fa-typo3:before { - content: "\f42b"; } - -.fa-uber:before { - content: "\f402"; } - -.fa-ubuntu:before { - content: "\f7df"; } - -.fa-uikit:before { - content: "\f403"; } - -.fa-umbraco:before { - content: "\f8e8"; } - -.fa-umbrella:before { - content: "\f0e9"; } - -.fa-umbrella-beach:before { - content: "\f5ca"; } - -.fa-underline:before { - content: "\f0cd"; } - -.fa-undo:before { - content: "\f0e2"; } - -.fa-undo-alt:before { - content: "\f2ea"; } - -.fa-uniregistry:before { - content: "\f404"; } - -.fa-unity:before { - content: "\f949"; } - -.fa-universal-access:before { - content: "\f29a"; } - -.fa-university:before { - content: "\f19c"; } - -.fa-unlink:before { - content: "\f127"; } - -.fa-unlock:before { - content: "\f09c"; } - -.fa-unlock-alt:before { - content: "\f13e"; } - -.fa-unsplash:before { - content: "\f97c"; } - -.fa-untappd:before { - content: "\f405"; } - -.fa-upload:before { - content: "\f093"; } - -.fa-ups:before { - content: "\f7e0"; } - -.fa-usb:before { - content: "\f287"; } - -.fa-user:before { - content: "\f007"; } - -.fa-user-alt:before { - content: "\f406"; } - -.fa-user-alt-slash:before { - content: "\f4fa"; } - -.fa-user-astronaut:before { - content: "\f4fb"; } - -.fa-user-check:before { - content: "\f4fc"; } - -.fa-user-circle:before { - content: "\f2bd"; } - -.fa-user-clock:before { - content: "\f4fd"; } - -.fa-user-cog:before { - content: "\f4fe"; } - -.fa-user-edit:before { - content: "\f4ff"; } - -.fa-user-friends:before { - content: "\f500"; } - -.fa-user-graduate:before { - content: "\f501"; } - -.fa-user-injured:before { - content: "\f728"; } - -.fa-user-lock:before { - content: "\f502"; } - -.fa-user-md:before { - content: "\f0f0"; } - -.fa-user-minus:before { - content: "\f503"; } - -.fa-user-ninja:before { - content: "\f504"; } - -.fa-user-nurse:before { - content: "\f82f"; } - -.fa-user-plus:before { - content: "\f234"; } - -.fa-user-secret:before { - content: "\f21b"; } - -.fa-user-shield:before { - content: "\f505"; } - -.fa-user-slash:before { - content: "\f506"; } - -.fa-user-tag:before { - content: "\f507"; } - -.fa-user-tie:before { - content: "\f508"; } - -.fa-user-times:before { - content: "\f235"; } - -.fa-users:before { - content: "\f0c0"; } - -.fa-users-cog:before { - content: "\f509"; } - -.fa-users-slash:before { - content: "\f973"; } - -.fa-usps:before { - content: "\f7e1"; } - -.fa-ussunnah:before { - content: "\f407"; } - -.fa-utensil-spoon:before { - content: "\f2e5"; } - -.fa-utensils:before { - content: "\f2e7"; } - -.fa-vaadin:before { - content: "\f408"; } - -.fa-vector-square:before { - content: "\f5cb"; } - -.fa-venus:before { - content: "\f221"; } - -.fa-venus-double:before { - content: "\f226"; } - -.fa-venus-mars:before { - content: "\f228"; } - -.fa-viacoin:before { - content: "\f237"; } - -.fa-viadeo:before { - content: "\f2a9"; } - -.fa-viadeo-square:before { - content: "\f2aa"; } - -.fa-vial:before { - content: "\f492"; } - -.fa-vials:before { - content: "\f493"; } - -.fa-viber:before { - content: "\f409"; } - -.fa-video:before { - content: "\f03d"; } - -.fa-video-slash:before { - content: "\f4e2"; } - -.fa-vihara:before { - content: "\f6a7"; } - -.fa-vimeo:before { - content: "\f40a"; } - -.fa-vimeo-square:before { - content: "\f194"; } - -.fa-vimeo-v:before { - content: "\f27d"; } - -.fa-vine:before { - content: "\f1ca"; } - -.fa-virus:before { - content: "\f974"; } - -.fa-virus-slash:before { - content: "\f975"; } - -.fa-viruses:before { - content: "\f976"; } - -.fa-vk:before { - content: "\f189"; } - -.fa-vnv:before { - content: "\f40b"; } - -.fa-voicemail:before { - content: "\f897"; } - -.fa-volleyball-ball:before { - content: "\f45f"; } - -.fa-volume-down:before { - content: "\f027"; } - -.fa-volume-mute:before { - content: "\f6a9"; } - -.fa-volume-off:before { - content: "\f026"; } - -.fa-volume-up:before { - content: "\f028"; } - -.fa-vote-yea:before { - content: "\f772"; } - -.fa-vr-cardboard:before { - content: "\f729"; } - -.fa-vuejs:before { - content: "\f41f"; } - -.fa-walking:before { - content: "\f554"; } - -.fa-wallet:before { - content: "\f555"; } - -.fa-warehouse:before { - content: "\f494"; } - -.fa-water:before { - content: "\f773"; } - -.fa-wave-square:before { - content: "\f83e"; } - -.fa-waze:before { - content: "\f83f"; } - -.fa-weebly:before { - content: "\f5cc"; } - -.fa-weibo:before { - content: "\f18a"; } - -.fa-weight:before { - content: "\f496"; } - -.fa-weight-hanging:before { - content: "\f5cd"; } - -.fa-weixin:before { - content: "\f1d7"; } - -.fa-whatsapp:before { - content: "\f232"; } - -.fa-whatsapp-square:before { - content: "\f40c"; } - -.fa-wheelchair:before { - content: "\f193"; } - -.fa-whmcs:before { - content: "\f40d"; } - -.fa-wifi:before { - content: "\f1eb"; } - -.fa-wikipedia-w:before { - content: "\f266"; } - -.fa-wind:before { - content: "\f72e"; } - -.fa-window-close:before { - content: "\f410"; } - -.fa-window-maximize:before { - content: "\f2d0"; } - -.fa-window-minimize:before { - content: "\f2d1"; } - -.fa-window-restore:before { - content: "\f2d2"; } - -.fa-windows:before { - content: "\f17a"; } - -.fa-wine-bottle:before { - content: "\f72f"; } - -.fa-wine-glass:before { - content: "\f4e3"; } - -.fa-wine-glass-alt:before { - content: "\f5ce"; } - -.fa-wix:before { - content: "\f5cf"; } - -.fa-wizards-of-the-coast:before { - content: "\f730"; } - -.fa-wolf-pack-battalion:before { - content: "\f514"; } - -.fa-won-sign:before { - content: "\f159"; } - -.fa-wordpress:before { - content: "\f19a"; } - -.fa-wordpress-simple:before { - content: "\f411"; } - -.fa-wpbeginner:before { - content: "\f297"; } - -.fa-wpexplorer:before { - content: "\f2de"; } - -.fa-wpforms:before { - content: "\f298"; } - -.fa-wpressr:before { - content: "\f3e4"; } - -.fa-wrench:before { - content: "\f0ad"; } - -.fa-x-ray:before { - content: "\f497"; } - -.fa-xbox:before { - content: "\f412"; } - -.fa-xing:before { - content: "\f168"; } - -.fa-xing-square:before { - content: "\f169"; } - -.fa-y-combinator:before { - content: "\f23b"; } - -.fa-yahoo:before { - content: "\f19e"; } - -.fa-yammer:before { - content: "\f840"; } - -.fa-yandex:before { - content: "\f413"; } - -.fa-yandex-international:before { - content: "\f414"; } - -.fa-yarn:before { - content: "\f7e3"; } - -.fa-yelp:before { - content: "\f1e9"; } - -.fa-yen-sign:before { - content: "\f157"; } - -.fa-yin-yang:before { - content: "\f6ad"; } - -.fa-yoast:before { - content: "\f2b1"; } - -.fa-youtube:before { - content: "\f167"; } - -.fa-youtube-square:before { - content: "\f431"; } - -.fa-zhihu:before { - content: "\f63f"; } - -.sr-only { - border: 0; - clip: rect(0, 0, 0, 0); - height: 1px; - margin: -1px; - overflow: hidden; - padding: 0; - position: absolute; - width: 1px; } - -.sr-only-focusable:active, .sr-only-focusable:focus { - clip: auto; - height: auto; - margin: 0; - overflow: visible; - position: static; - width: auto; } -@font-face { - font-family: 'Font Awesome 5 Brands'; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-brands-400.eot"); - src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } - -.fab { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } -@font-face { - font-family: 'Font Awesome 5 Free'; - font-style: normal; - font-weight: 400; - font-display: block; - src: url("../webfonts/fa-regular-400.eot"); - src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } - -.far { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } -@font-face { - font-family: 'Font Awesome 5 Free'; - font-style: normal; - font-weight: 900; - font-display: block; - src: url("../webfonts/fa-solid-900.eot"); - src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } - -.fa, -.fas { - font-family: 'Font Awesome 5 Free'; - font-weight: 900; } diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css deleted file mode 100644 index e4d93da3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/css/v4-shims.css +++ /dev/null @@ -1,2172 +0,0 @@ -/*! - * Font Awesome Free 5.13.1 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - */ -.fa.fa-glass:before { - content: "\f000"; } - -.fa.fa-meetup { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-star-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-star-o:before { - content: "\f005"; } - -.fa.fa-remove:before { - content: "\f00d"; } - -.fa.fa-close:before { - content: "\f00d"; } - -.fa.fa-gear:before { - content: "\f013"; } - -.fa.fa-trash-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-trash-o:before { - content: "\f2ed"; } - -.fa.fa-file-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-o:before { - content: "\f15b"; } - -.fa.fa-clock-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-clock-o:before { - content: "\f017"; } - -.fa.fa-arrow-circle-o-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-down:before { - content: "\f358"; } - -.fa.fa-arrow-circle-o-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-up:before { - content: "\f35b"; } - -.fa.fa-play-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-play-circle-o:before { - content: "\f144"; } - -.fa.fa-repeat:before { - content: "\f01e"; } - -.fa.fa-rotate-right:before { - content: "\f01e"; } - -.fa.fa-refresh:before { - content: "\f021"; } - -.fa.fa-list-alt { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-dedent:before { - content: "\f03b"; } - -.fa.fa-video-camera:before { - content: "\f03d"; } - -.fa.fa-picture-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-picture-o:before { - content: "\f03e"; } - -.fa.fa-photo { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-photo:before { - content: "\f03e"; } - -.fa.fa-image { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-image:before { - content: "\f03e"; } - -.fa.fa-pencil:before { - content: "\f303"; } - -.fa.fa-map-marker:before { - content: "\f3c5"; } - -.fa.fa-pencil-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-pencil-square-o:before { - content: "\f044"; } - -.fa.fa-share-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-share-square-o:before { - content: "\f14d"; } - -.fa.fa-check-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-check-square-o:before { - content: "\f14a"; } - -.fa.fa-arrows:before { - content: "\f0b2"; } - -.fa.fa-times-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-times-circle-o:before { - content: "\f057"; } - -.fa.fa-check-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-check-circle-o:before { - content: "\f058"; } - -.fa.fa-mail-forward:before { - content: "\f064"; } - -.fa.fa-expand:before { - content: "\f424"; } - -.fa.fa-compress:before { - content: "\f422"; } - -.fa.fa-eye { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-eye-slash { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-warning:before { - content: "\f071"; } - -.fa.fa-calendar:before { - content: "\f073"; } - -.fa.fa-arrows-v:before { - content: "\f338"; } - -.fa.fa-arrows-h:before { - content: "\f337"; } - -.fa.fa-bar-chart { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bar-chart:before { - content: "\f080"; } - -.fa.fa-bar-chart-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bar-chart-o:before { - content: "\f080"; } - -.fa.fa-twitter-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gears:before { - content: "\f085"; } - -.fa.fa-thumbs-o-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-thumbs-o-up:before { - content: "\f164"; } - -.fa.fa-thumbs-o-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-thumbs-o-down:before { - content: "\f165"; } - -.fa.fa-heart-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-heart-o:before { - content: "\f004"; } - -.fa.fa-sign-out:before { - content: "\f2f5"; } - -.fa.fa-linkedin-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-linkedin-square:before { - content: "\f08c"; } - -.fa.fa-thumb-tack:before { - content: "\f08d"; } - -.fa.fa-external-link:before { - content: "\f35d"; } - -.fa.fa-sign-in:before { - content: "\f2f6"; } - -.fa.fa-github-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-lemon-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-lemon-o:before { - content: "\f094"; } - -.fa.fa-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-square-o:before { - content: "\f0c8"; } - -.fa.fa-bookmark-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bookmark-o:before { - content: "\f02e"; } - -.fa.fa-twitter { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook:before { - content: "\f39e"; } - -.fa.fa-facebook-f { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook-f:before { - content: "\f39e"; } - -.fa.fa-github { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-credit-card { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-feed:before { - content: "\f09e"; } - -.fa.fa-hdd-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hdd-o:before { - content: "\f0a0"; } - -.fa.fa-hand-o-right { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-o-right:before { - content: "\f0a4"; } - -.fa.fa-hand-o-left { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-o-left:before { - content: "\f0a5"; } - -.fa.fa-hand-o-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-o-up:before { - content: "\f0a6"; } - -.fa.fa-hand-o-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-o-down:before { - content: "\f0a7"; } - -.fa.fa-arrows-alt:before { - content: "\f31e"; } - -.fa.fa-group:before { - content: "\f0c0"; } - -.fa.fa-chain:before { - content: "\f0c1"; } - -.fa.fa-scissors:before { - content: "\f0c4"; } - -.fa.fa-files-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-files-o:before { - content: "\f0c5"; } - -.fa.fa-floppy-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-floppy-o:before { - content: "\f0c7"; } - -.fa.fa-navicon:before { - content: "\f0c9"; } - -.fa.fa-reorder:before { - content: "\f0c9"; } - -.fa.fa-pinterest { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pinterest-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus:before { - content: "\f0d5"; } - -.fa.fa-money { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-money:before { - content: "\f3d1"; } - -.fa.fa-unsorted:before { - content: "\f0dc"; } - -.fa.fa-sort-desc:before { - content: "\f0dd"; } - -.fa.fa-sort-asc:before { - content: "\f0de"; } - -.fa.fa-linkedin { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-linkedin:before { - content: "\f0e1"; } - -.fa.fa-rotate-left:before { - content: "\f0e2"; } - -.fa.fa-legal:before { - content: "\f0e3"; } - -.fa.fa-tachometer:before { - content: "\f3fd"; } - -.fa.fa-dashboard:before { - content: "\f3fd"; } - -.fa.fa-comment-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-comment-o:before { - content: "\f075"; } - -.fa.fa-comments-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-comments-o:before { - content: "\f086"; } - -.fa.fa-flash:before { - content: "\f0e7"; } - -.fa.fa-clipboard { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-paste { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-paste:before { - content: "\f328"; } - -.fa.fa-lightbulb-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-lightbulb-o:before { - content: "\f0eb"; } - -.fa.fa-exchange:before { - content: "\f362"; } - -.fa.fa-cloud-download:before { - content: "\f381"; } - -.fa.fa-cloud-upload:before { - content: "\f382"; } - -.fa.fa-bell-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bell-o:before { - content: "\f0f3"; } - -.fa.fa-cutlery:before { - content: "\f2e7"; } - -.fa.fa-file-text-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-text-o:before { - content: "\f15c"; } - -.fa.fa-building-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-building-o:before { - content: "\f1ad"; } - -.fa.fa-hospital-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hospital-o:before { - content: "\f0f8"; } - -.fa.fa-tablet:before { - content: "\f3fa"; } - -.fa.fa-mobile:before { - content: "\f3cd"; } - -.fa.fa-mobile-phone:before { - content: "\f3cd"; } - -.fa.fa-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-circle-o:before { - content: "\f111"; } - -.fa.fa-mail-reply:before { - content: "\f3e5"; } - -.fa.fa-github-alt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-folder-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-folder-o:before { - content: "\f07b"; } - -.fa.fa-folder-open-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-folder-open-o:before { - content: "\f07c"; } - -.fa.fa-smile-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-smile-o:before { - content: "\f118"; } - -.fa.fa-frown-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-frown-o:before { - content: "\f119"; } - -.fa.fa-meh-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-meh-o:before { - content: "\f11a"; } - -.fa.fa-keyboard-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-keyboard-o:before { - content: "\f11c"; } - -.fa.fa-flag-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-flag-o:before { - content: "\f024"; } - -.fa.fa-mail-reply-all:before { - content: "\f122"; } - -.fa.fa-star-half-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-star-half-o:before { - content: "\f089"; } - -.fa.fa-star-half-empty { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-star-half-empty:before { - content: "\f089"; } - -.fa.fa-star-half-full { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-star-half-full:before { - content: "\f089"; } - -.fa.fa-code-fork:before { - content: "\f126"; } - -.fa.fa-chain-broken:before { - content: "\f127"; } - -.fa.fa-shield:before { - content: "\f3ed"; } - -.fa.fa-calendar-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-o:before { - content: "\f133"; } - -.fa.fa-maxcdn { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-html5 { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-css3 { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ticket:before { - content: "\f3ff"; } - -.fa.fa-minus-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-minus-square-o:before { - content: "\f146"; } - -.fa.fa-level-up:before { - content: "\f3bf"; } - -.fa.fa-level-down:before { - content: "\f3be"; } - -.fa.fa-pencil-square:before { - content: "\f14b"; } - -.fa.fa-external-link-square:before { - content: "\f360"; } - -.fa.fa-compass { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-down:before { - content: "\f150"; } - -.fa.fa-toggle-down { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-toggle-down:before { - content: "\f150"; } - -.fa.fa-caret-square-o-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-up:before { - content: "\f151"; } - -.fa.fa-toggle-up { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-toggle-up:before { - content: "\f151"; } - -.fa.fa-caret-square-o-right { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-right:before { - content: "\f152"; } - -.fa.fa-toggle-right { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-toggle-right:before { - content: "\f152"; } - -.fa.fa-eur:before { - content: "\f153"; } - -.fa.fa-euro:before { - content: "\f153"; } - -.fa.fa-gbp:before { - content: "\f154"; } - -.fa.fa-usd:before { - content: "\f155"; } - -.fa.fa-dollar:before { - content: "\f155"; } - -.fa.fa-inr:before { - content: "\f156"; } - -.fa.fa-rupee:before { - content: "\f156"; } - -.fa.fa-jpy:before { - content: "\f157"; } - -.fa.fa-cny:before { - content: "\f157"; } - -.fa.fa-rmb:before { - content: "\f157"; } - -.fa.fa-yen:before { - content: "\f157"; } - -.fa.fa-rub:before { - content: "\f158"; } - -.fa.fa-ruble:before { - content: "\f158"; } - -.fa.fa-rouble:before { - content: "\f158"; } - -.fa.fa-krw:before { - content: "\f159"; } - -.fa.fa-won:before { - content: "\f159"; } - -.fa.fa-btc { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitcoin { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitcoin:before { - content: "\f15a"; } - -.fa.fa-file-text:before { - content: "\f15c"; } - -.fa.fa-sort-alpha-asc:before { - content: "\f15d"; } - -.fa.fa-sort-alpha-desc:before { - content: "\f881"; } - -.fa.fa-sort-amount-asc:before { - content: "\f160"; } - -.fa.fa-sort-amount-desc:before { - content: "\f884"; } - -.fa.fa-sort-numeric-asc:before { - content: "\f162"; } - -.fa.fa-sort-numeric-desc:before { - content: "\f886"; } - -.fa.fa-youtube-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-youtube { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-xing { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-xing-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-youtube-play { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-youtube-play:before { - content: "\f167"; } - -.fa.fa-dropbox { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-stack-overflow { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-instagram { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-flickr { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-adn { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitbucket { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitbucket-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bitbucket-square:before { - content: "\f171"; } - -.fa.fa-tumblr { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-tumblr-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-long-arrow-down:before { - content: "\f309"; } - -.fa.fa-long-arrow-up:before { - content: "\f30c"; } - -.fa.fa-long-arrow-left:before { - content: "\f30a"; } - -.fa.fa-long-arrow-right:before { - content: "\f30b"; } - -.fa.fa-apple { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-windows { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-android { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-linux { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-dribbble { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-skype { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-foursquare { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-trello { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gratipay { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gittip { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gittip:before { - content: "\f184"; } - -.fa.fa-sun-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-sun-o:before { - content: "\f185"; } - -.fa.fa-moon-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-moon-o:before { - content: "\f186"; } - -.fa.fa-vk { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-weibo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-renren { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pagelines { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-stack-exchange { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-right { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-right:before { - content: "\f35a"; } - -.fa.fa-arrow-circle-o-left { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-left:before { - content: "\f359"; } - -.fa.fa-caret-square-o-left { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-left:before { - content: "\f191"; } - -.fa.fa-toggle-left { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-toggle-left:before { - content: "\f191"; } - -.fa.fa-dot-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-dot-circle-o:before { - content: "\f192"; } - -.fa.fa-vimeo-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-try:before { - content: "\f195"; } - -.fa.fa-turkish-lira:before { - content: "\f195"; } - -.fa.fa-plus-square-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-plus-square-o:before { - content: "\f0fe"; } - -.fa.fa-slack { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wordpress { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-openid { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-institution:before { - content: "\f19c"; } - -.fa.fa-bank:before { - content: "\f19c"; } - -.fa.fa-mortar-board:before { - content: "\f19d"; } - -.fa.fa-yahoo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-reddit { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-reddit-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-stumbleupon-circle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-stumbleupon { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-delicious { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-digg { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pied-piper-pp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pied-piper-alt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-drupal { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-joomla { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-spoon:before { - content: "\f2e5"; } - -.fa.fa-behance { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-behance-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-steam { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-steam-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-automobile:before { - content: "\f1b9"; } - -.fa.fa-envelope-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-envelope-o:before { - content: "\f0e0"; } - -.fa.fa-spotify { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-deviantart { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-soundcloud { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-file-pdf-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-pdf-o:before { - content: "\f1c1"; } - -.fa.fa-file-word-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-word-o:before { - content: "\f1c2"; } - -.fa.fa-file-excel-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-excel-o:before { - content: "\f1c3"; } - -.fa.fa-file-powerpoint-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-powerpoint-o:before { - content: "\f1c4"; } - -.fa.fa-file-image-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-image-o:before { - content: "\f1c5"; } - -.fa.fa-file-photo-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-photo-o:before { - content: "\f1c5"; } - -.fa.fa-file-picture-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-picture-o:before { - content: "\f1c5"; } - -.fa.fa-file-archive-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-archive-o:before { - content: "\f1c6"; } - -.fa.fa-file-zip-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-zip-o:before { - content: "\f1c6"; } - -.fa.fa-file-audio-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-audio-o:before { - content: "\f1c7"; } - -.fa.fa-file-sound-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-sound-o:before { - content: "\f1c7"; } - -.fa.fa-file-video-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-video-o:before { - content: "\f1c8"; } - -.fa.fa-file-movie-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-movie-o:before { - content: "\f1c8"; } - -.fa.fa-file-code-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-file-code-o:before { - content: "\f1c9"; } - -.fa.fa-vine { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-codepen { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-jsfiddle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-life-ring { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-life-bouy { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-life-bouy:before { - content: "\f1cd"; } - -.fa.fa-life-buoy { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-life-buoy:before { - content: "\f1cd"; } - -.fa.fa-life-saver { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-life-saver:before { - content: "\f1cd"; } - -.fa.fa-support { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-support:before { - content: "\f1cd"; } - -.fa.fa-circle-o-notch:before { - content: "\f1ce"; } - -.fa.fa-rebel { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ra { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ra:before { - content: "\f1d0"; } - -.fa.fa-resistance { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-resistance:before { - content: "\f1d0"; } - -.fa.fa-empire { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ge { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ge:before { - content: "\f1d1"; } - -.fa.fa-git-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-git { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-hacker-news { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-y-combinator-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-y-combinator-square:before { - content: "\f1d4"; } - -.fa.fa-yc-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yc-square:before { - content: "\f1d4"; } - -.fa.fa-tencent-weibo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-qq { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-weixin { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wechat { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wechat:before { - content: "\f1d7"; } - -.fa.fa-send:before { - content: "\f1d8"; } - -.fa.fa-paper-plane-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-paper-plane-o:before { - content: "\f1d8"; } - -.fa.fa-send-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-send-o:before { - content: "\f1d8"; } - -.fa.fa-circle-thin { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-circle-thin:before { - content: "\f111"; } - -.fa.fa-header:before { - content: "\f1dc"; } - -.fa.fa-sliders:before { - content: "\f1de"; } - -.fa.fa-futbol-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-futbol-o:before { - content: "\f1e3"; } - -.fa.fa-soccer-ball-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-soccer-ball-o:before { - content: "\f1e3"; } - -.fa.fa-slideshare { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-twitch { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yelp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-newspaper-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-newspaper-o:before { - content: "\f1ea"; } - -.fa.fa-paypal { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-wallet { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-visa { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-mastercard { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-discover { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-amex { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-paypal { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-stripe { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bell-slash-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-bell-slash-o:before { - content: "\f1f6"; } - -.fa.fa-trash:before { - content: "\f2ed"; } - -.fa.fa-copyright { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-eyedropper:before { - content: "\f1fb"; } - -.fa.fa-area-chart:before { - content: "\f1fe"; } - -.fa.fa-pie-chart:before { - content: "\f200"; } - -.fa.fa-line-chart:before { - content: "\f201"; } - -.fa.fa-lastfm { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-lastfm-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ioxhost { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-angellist { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-cc:before { - content: "\f20a"; } - -.fa.fa-ils:before { - content: "\f20b"; } - -.fa.fa-shekel:before { - content: "\f20b"; } - -.fa.fa-sheqel:before { - content: "\f20b"; } - -.fa.fa-meanpath { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-meanpath:before { - content: "\f2b4"; } - -.fa.fa-buysellads { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-connectdevelop { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-dashcube { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-forumbee { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-leanpub { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-sellsy { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-shirtsinbulk { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-simplybuilt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-skyatlas { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-diamond { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-diamond:before { - content: "\f3a5"; } - -.fa.fa-intersex:before { - content: "\f224"; } - -.fa.fa-facebook-official { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-facebook-official:before { - content: "\f09a"; } - -.fa.fa-pinterest-p { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-whatsapp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-hotel:before { - content: "\f236"; } - -.fa.fa-viacoin { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-medium { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-y-combinator { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yc { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yc:before { - content: "\f23b"; } - -.fa.fa-optin-monster { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-opencart { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-expeditedssl { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-battery-4:before { - content: "\f240"; } - -.fa.fa-battery:before { - content: "\f240"; } - -.fa.fa-battery-3:before { - content: "\f241"; } - -.fa.fa-battery-2:before { - content: "\f242"; } - -.fa.fa-battery-1:before { - content: "\f243"; } - -.fa.fa-battery-0:before { - content: "\f244"; } - -.fa.fa-object-group { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-object-ungroup { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-sticky-note-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-sticky-note-o:before { - content: "\f249"; } - -.fa.fa-cc-jcb { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cc-diners-club { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-clone { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hourglass-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hourglass-o:before { - content: "\f254"; } - -.fa.fa-hourglass-1:before { - content: "\f251"; } - -.fa.fa-hourglass-2:before { - content: "\f252"; } - -.fa.fa-hourglass-3:before { - content: "\f253"; } - -.fa.fa-hand-rock-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-rock-o:before { - content: "\f255"; } - -.fa.fa-hand-grab-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-grab-o:before { - content: "\f255"; } - -.fa.fa-hand-paper-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-paper-o:before { - content: "\f256"; } - -.fa.fa-hand-stop-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-stop-o:before { - content: "\f256"; } - -.fa.fa-hand-scissors-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-scissors-o:before { - content: "\f257"; } - -.fa.fa-hand-lizard-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-lizard-o:before { - content: "\f258"; } - -.fa.fa-hand-spock-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-spock-o:before { - content: "\f259"; } - -.fa.fa-hand-pointer-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-pointer-o:before { - content: "\f25a"; } - -.fa.fa-hand-peace-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-hand-peace-o:before { - content: "\f25b"; } - -.fa.fa-registered { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-creative-commons { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gg { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gg-circle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-tripadvisor { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-odnoklassniki { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-odnoklassniki-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-get-pocket { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wikipedia-w { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-safari { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-chrome { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-firefox { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-opera { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-internet-explorer { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-television:before { - content: "\f26c"; } - -.fa.fa-contao { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-500px { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-amazon { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-calendar-plus-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-plus-o:before { - content: "\f271"; } - -.fa.fa-calendar-minus-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-minus-o:before { - content: "\f272"; } - -.fa.fa-calendar-times-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-times-o:before { - content: "\f273"; } - -.fa.fa-calendar-check-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-calendar-check-o:before { - content: "\f274"; } - -.fa.fa-map-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-map-o:before { - content: "\f279"; } - -.fa.fa-commenting:before { - content: "\f4ad"; } - -.fa.fa-commenting-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-commenting-o:before { - content: "\f4ad"; } - -.fa.fa-houzz { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-vimeo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-vimeo:before { - content: "\f27d"; } - -.fa.fa-black-tie { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-fonticons { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-reddit-alien { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-edge { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-credit-card-alt:before { - content: "\f09d"; } - -.fa.fa-codiepie { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-modx { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-fort-awesome { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-usb { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-product-hunt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-mixcloud { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-scribd { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pause-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-pause-circle-o:before { - content: "\f28b"; } - -.fa.fa-stop-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-stop-circle-o:before { - content: "\f28d"; } - -.fa.fa-bluetooth { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-bluetooth-b { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-gitlab { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wpbeginner { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wpforms { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-envira { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wheelchair-alt { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wheelchair-alt:before { - content: "\f368"; } - -.fa.fa-question-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-question-circle-o:before { - content: "\f059"; } - -.fa.fa-volume-control-phone:before { - content: "\f2a0"; } - -.fa.fa-asl-interpreting:before { - content: "\f2a3"; } - -.fa.fa-deafness:before { - content: "\f2a4"; } - -.fa.fa-hard-of-hearing:before { - content: "\f2a4"; } - -.fa.fa-glide { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-glide-g { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-signing:before { - content: "\f2a7"; } - -.fa.fa-viadeo { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-viadeo-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-snapchat { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-snapchat-ghost { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-snapchat-square { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-pied-piper { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-first-order { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-yoast { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-themeisle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-official { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-official:before { - content: "\f2b3"; } - -.fa.fa-google-plus-circle { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-circle:before { - content: "\f2b3"; } - -.fa.fa-font-awesome { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-fa { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-fa:before { - content: "\f2b4"; } - -.fa.fa-handshake-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-handshake-o:before { - content: "\f2b5"; } - -.fa.fa-envelope-open-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-envelope-open-o:before { - content: "\f2b6"; } - -.fa.fa-linode { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-address-book-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-address-book-o:before { - content: "\f2b9"; } - -.fa.fa-vcard:before { - content: "\f2bb"; } - -.fa.fa-address-card-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-address-card-o:before { - content: "\f2bb"; } - -.fa.fa-vcard-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-vcard-o:before { - content: "\f2bb"; } - -.fa.fa-user-circle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-user-circle-o:before { - content: "\f2bd"; } - -.fa.fa-user-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-user-o:before { - content: "\f007"; } - -.fa.fa-id-badge { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-drivers-license:before { - content: "\f2c2"; } - -.fa.fa-id-card-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-id-card-o:before { - content: "\f2c2"; } - -.fa.fa-drivers-license-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-drivers-license-o:before { - content: "\f2c2"; } - -.fa.fa-quora { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-free-code-camp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-telegram { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-thermometer-4:before { - content: "\f2c7"; } - -.fa.fa-thermometer:before { - content: "\f2c7"; } - -.fa.fa-thermometer-3:before { - content: "\f2c8"; } - -.fa.fa-thermometer-2:before { - content: "\f2c9"; } - -.fa.fa-thermometer-1:before { - content: "\f2ca"; } - -.fa.fa-thermometer-0:before { - content: "\f2cb"; } - -.fa.fa-bathtub:before { - content: "\f2cd"; } - -.fa.fa-s15:before { - content: "\f2cd"; } - -.fa.fa-window-maximize { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-window-restore { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-times-rectangle:before { - content: "\f410"; } - -.fa.fa-window-close-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-window-close-o:before { - content: "\f410"; } - -.fa.fa-times-rectangle-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-times-rectangle-o:before { - content: "\f410"; } - -.fa.fa-bandcamp { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-grav { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-etsy { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-imdb { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-ravelry { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-eercast { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-eercast:before { - content: "\f2da"; } - -.fa.fa-snowflake-o { - font-family: 'Font Awesome 5 Free'; - font-weight: 400; } - -.fa.fa-snowflake-o:before { - content: "\f2dc"; } - -.fa.fa-superpowers { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-wpexplorer { - font-family: 'Font Awesome 5 Brands'; - font-weight: 400; } - -.fa.fa-cab:before { - content: "\f1ba"; } diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot deleted file mode 100644 index 8745c3eb06a1307b20b7c39bbe7f8dd517911e47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134878 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%0AOvHz7XWDl@-ydl=L^4Py5L( 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 - - - - -Created by FontForge 20190801 at Thu Jun 18 14:52:21 2020 - By Robert Madole -Copyright (c) Font Awesome - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf deleted file mode 100644 index ef792f4244b8ca1d096741f5b43a74c1bd36df8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 134572 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%0A!*q|pB=^x9NFeid%?3b(xc+iHsc8`yF_^%j z!Dija*ti?1I^niL;q=%XRgGxn60Fn)S^NV{#WDafM4At|ciK@aO4l=mQ_)1+bK`gT zI(boyLLcRud@|1RaM0EWpQNnmTCl7!&7p~4L2SPyux+h^*ujYzF7D{9P~A95&?H;X zw_^#1Mz9DI%Rp=a4j2e!thGh>qO9ZAaljWP(NJAkwT6J8BX|VR8M|^qR3(u^+?ZCD z*^gr-24bsREXBx>jBMCuG`mJIZ6gX$0f&~1N?SHCFbK^GfFmJT90<3+MAyRFQZ$-q zNrs|ny2!`LF46rRp%94zN4J0>B0iOk%}>dawa%kf2LYd*?|F6C)h$CAh$Cb_bggch z=KRw$rofw~4s0(rKZysH*YUHg`D0@}J*|m<2K2CwGKc3x1q!9Y?~w#f#c9Ki=iuqXs8Yw$jf-5_Z&7=gXx zn`_8?u|=^E2B2!L*-GQ^RV`vk5F)DPS*>UUG3ReYXdwZ}WuZ5H9 z`ugVg_ghvjuP0jP!>48fog_USZ2$;Fxjk_i(}=DAn!jys#?isjcZY=HztR^*IO4GUpcHS{+f zN=Q}sYY_@W8Ck7PgR|g8i9k6Iz!{p15GXp#v>Ys*p}uQ8g`&utvRV+7bKvdK5hW*n z={?zcOgyfKLpD%xJsvkhk+AE>=g0FAJ0x?_Qy}ir1$B0zP&hl1Na9;aY^Gp*BOWze zd|s+0_V*ghL!MPE#d4&Y^u416>btPMMM=qtilc|Zn4o%2jx0%~<#VlwkN~n? z1t1gFE?aGEx$LrAl2Y>eY$lb{lzZh?r78=_f*OjNk))|4Wqb|+A`x33Fva6AYnX<~ z!)^{HOG<#XMUfOpI3dtCD9kaE=9zh)P!8HxMdFc9TCHBK0GouZ`3cg;8R%= zU3wR3OU&j}gh90k^M<=NO0&2Q1KwMQO$ad<gwhKB&5ES2RAlw=K zW#}ptaiVci;B9_3h$76=c~CFH)}jy79PFv8X{t5hw(UzUO^zRRo)o8EqL(DvvT(3vS)Owcr9SE0=o3pddNlic-C`08FJ-J#lV)3j*!$&{h^X2pAQYIK%d>DuI*tst9NUWJ zpjcLs>WhdrAXb4>y5YsqLgQU?>(ES;2e?j13XobvM>mN%jACgU&e?lvXKr)L)*_E@3#LhAkb3G-Z z0A1(RIfZOn&x5X@OB4{Hw9}kJY!E+1*Z+UeZ=;bsS8e!vJB}yX(L8JJNxM!uaYvN2 z?f%nIf@A7F(mwUliEwTDz=D4UEclyxU4B@m)lQK7$bl?t{5wEQaIiE5p$ zj|76`Q&e6eG$I#%ltvA6T!Mg>{9Yd^u-vI{U8qTZ19%O-oFP$sr`*6b#0Su)Jb>st z90p2psgth7Tjagn%}WYi86rTNZdKSc?V}?0AJghy0^2li*!~wzMl;6)lRm%lbpL{ zH2;L|>&sUzKOuCfI4^hp$}RZ7h0fnQsGeHA<5*t5s9uE%*LK|SaG`KUXd+KeJehD; zowmNTelxFM8a{6wR&eA!kA(Q+Nq0U%xSz3x&Yi@uI=2qKVW@nF8^I@{_!BrROg@Rz z4HlwaHfspRqI2Eg?leudkPT9t%Mt%eQ~`mkcDoYtXSExdd_)EN|jmR<9~M2I)I5Mog_#r z@xJ72Xv^WqnV4SuabNO+56`fS1HSML@C5@LjtN5KD1)Lw=v60DMT|PNl7kp}k1X6) zE4@~#)k>XvtAN06LVz<_d+OBcVsCHp59P+xGoocprTNcPJ+;)Sr?=x^;B zzgQGkUztz0>|TZd4GkbMht{W#1$d>V(n|H+W*X8pxX7ExSpb^($m@}hTG~KQ z*U-Rty0dq7d)q#&XReL3wT;xEv6A+Yg`@55qYFpyt(-bdt@q@T*}mvNPtQPpkgRx@ z068G6)6q8dO*_`s7PHBQd@`AzdVxeErBY<-bzN7INxCjopx7>Z3G8*MqYq=AZ#crS zA!X2$v^#^@Nq3l%0vPhlU_m{G=Jr3X-y6+;lz~mO)fQK#uBN+7Md;;g+NeTF5v5-DD&8NSc!#9z04`z4eR^(=9AIwcXrLD*nwA`ah>h&eH8=}c* zHX$oc!pY!kX{oqERmh-h-PJ>xX=Q+3zq5qEv{eD4vpsyVbC4%UwD=_#{D@#426!M-v zlHUd^#7F4Xd$7kkSZ(TIy4r>;LBPK*wYF;i4_)s8AlZ4<`Sy47 zt*To&=g?Kvxx2c$s-~xBdV2D7PacgXDU9++vSejBN**g9`ZNs9q!3%HMHOm9mOXzvObE{h#$2~@V2jw%F7BBx z^~c6*YfFoXxyZJ&Q+e)}Qd)tmtshyg9 zgZj+XtD}3i))TSNlvnn$Y2qAnZej1OZlXFDrPef_IG9M}s`H)n!qy|(GE>SaEYBUg z>2iB4GEx~;mKDeYLcR3R z?#HfP>^xX4KXUceS08${TI|37&XSSXXHULA0O6gUbMxb!=}f|Q90*lnX#J3;g_(*5 zt{g_}`Q7KPexy*juep=N}@8FuD|zjhH_kp`&`q8GX0{|lVg|0jMv&<725ac*u;_{4>?XD^%x@0puh zIezW&i-o>=_U^gr+}FOw!`;t6zy3Au=w&{jE?h{0^1$R1AD^p|l5!tPuv!B@Cxbb; z@vb!x@Q1qpilsfLi$tu<>ba_^j=H6g(^*Crn(`;GxeINbk zlZKWxO*lkw_NdbN7Jdb4_pnD@`C zUsInKE7?vnirez*Lo8c;Y|a+{BoPRE0Q%v~8Q%a12!3=K9_@u5kBo5ws^B49_A#HF1z%yuccFI9&CAN^B@iuW0KX=8=J$a z$^bEM0mWm6No5w>CkNMN6%LYYevjPgzz^jh-dH8m;wxzpLJF4*D3g??EZAgBKqwFp z=MdVmR8C6vgZn4kO5j7}I>?5lxP=FKBX6M$(Aq70Ih_k2N9pg~B3>xJCV=40FQ$kH z5zV85OuotiZycr^wv8W2b=r)wmxWqPCYJ4IZm2dN2;`^D#Q=dLvV>3BWNYZNa!I(_ zk_1fpN7UCSz*gN%+57a5hf5jkbweW$XGBO}8PTAfh-*%b(kdJ}>a~dB+3_*>1X5fo z`O%4x8(uhAE0)?#Z}z87=0VRBMr4~RVkfBUjkFWk@qAS$DrmYYB_wlY0`i9E`av5a z5l7OF0>LeQ2a#WJK$^DT7{Fqnm{>pNq)8sxY&H%i%P8pjyb(16As9=3Bh^Sw@0gl8 zY1L(`kop9BC9Fi<0g1b&gU^R09U|({>&;MvSDF^vVtNOU&mNqB=MdjBkc3)N*Ha~Y zVLQ;Vh3wh<4Vh+P4J{L7I{T-7cs{)g3x!kNhcPphYbqC zD4_$)C-)>4-ybpX*|1WSM8~xdWJSeDf@EfWf2N5fp)Nur?HR6*CSn*WgwEX%v2fFk z1%ojVa*k$Eo=04r$~xWtKW-sVLS`Kh$uIZQ= ztCxr!DM;vlhTBt}o~~A=Kc?c@81p4=S3&oir5URgP=qxN)sI#&WsNb1oP~L`;4MrT zB$8Fl;`Rg8L;XTQY=S-|wja=bh2rjXOtV@Hc%WX&zyifC*TtA z;7d-lPT)UY$fc50^Fdp}cC~Jf0AI_}t7QLGO1-57?_Q+3{*21FW-y=(7@*3ZXyl@S zSj-F*^Qq$hX9Pi(giY?9eL$5%P`YSw+s#a>I5$IMxzuw=%;KBcW9lPV-Vxz9-z=%G zOXv!V7yAi>1ru>uCapC?M*vNIB;P6&TK`8L^6GedX{_v6@lZQk=oUlWRx)$u_}1%p zEmq2*gg$Zehw`nwzdny@9L!5Bn2(}UrgG^m&9*?solquTj#bU6aXBQ8WD~<|;{kNB z`;WqHaem~*%9{+e+!%KFtT3AhtabPX*A2P$3KxiKZ#*PcWgTkOHr^pbG3B+5bKK;A zeD>oHJ@oO1?pH26PR-H08*>-O^3(b62kjq7&YXuIkP0_k^X)NKiKogNRsKKrn@>FP zn@_0s@a2a-?vNobWU7>4WaQP@Vt)F2Pf4BlQ*7hu#|`6gvzH1~T(<(#Y$~NZAIiM` zNw)CBZ@vsu6UAy-B3pYS`l;9LAQx>aF;NQ*Qj@R1fS45FNri2_oq}Awn}Gp$0cq}& zFGv9a32(d?a5s?Q;)RQs-SA2RgvpqAK@+TzP2?hj&)C0g zJaBe&J@8LU7jpW`J%BEL@o-G|LCWq&p1E-0nF~K!9UHrwt`(tpIy9^)8)p6UM_>1v z<5%_0EZlok-F@Mmx8C~BPkb%3xNnQ+ZE1uHnPk*>?d4&+_3Q3AeDc+E=e8WVdl>)t z9Upt21Pir=+9>L>8I(!1u;4YNN*asOPZ7Lg8F{x2Yg(-6#Ae_W8~UGWfq1Q!cFU=$ zKsq0tF3$W+%}vOXN_sMw&PAsSGq1bt9pih?&E4|Mj{EiigC z|2DC@;p+jf?e-@xT=?WCr}K%67Z(nH^2JxV3*WkM3-5BW{E#dkzRF)f#<wUwHUod6z$OB$(YOg8SaVBe`Cl zkF%o>zwzORUwr4|(xiKxdL417B#{H*#vyYfu-MMf{gZhwrOag7H;OK8NE?R^8M%4i zQ3C^jwPE@~kh@k^M5|KL-(WuNC%Z`Ar{}*|PNmA_iGP|Xms8=a_r>#5F8YSfn>bRc9dPC1xL~E6LYjze<^AQ--FW9l#J1 z7nwOD@>C^ii>X8OR){1Q4|xqYbSSk{g|OTzq>N~1VUC1!fdaEo7y_++V_W0U9fx+c z7Fw-*tQ@;HW%1R98G6#ez(bn0{qQ)=rf|9xQ9RtF&o8Oqx8_W(mSMD zy*~>ie_1_8GpKC!?_M^A|6q2{?ChR58PRaM87FT8GQ6NbQGNeLczh%#If;KW z#LjZW!{DnNpMTLgdRy+%&~Fw;VqU#JmU;A=YaY$Uem`3uCyEk?)(eS5u?nepJTg(w zy0ps8#-6z5(MPX&B9>kMhfK8%aauf7gDbpH;YBbuR?W~?0!+~VCSLIlc=16Oley7> z;)q?|>Yx(1gy3DeDc?U3l1H(+B^WhafN#TLu?AUxv81`k2^LTk+KyS1t@(KPguNDz zWUkKy=HfpcuUhu)o?WV0=8_YfehT^=7mf+=n8{dd+ql_EF6k@U>&c-opUrX~xsr1ucfdvaHu57M9{E)=BVQT$8uJ41{D%5BC2xnT)D7wL4%?3v@DX)0vMP#)>BabyQ73i?zy?X5$!EB(mu-d>2rc_xm!JZP z4MDf^UbI7R!QZ|dz>DkQbxW*B79h3QOPlOU(_cd{Oq&NXkX@o#;z!puWqAQd@@Oe%Tij%8dB${io|lRO3gO z+G;eq+usBp%F8!$)BPX6U+sU{w_LXBIKRCA&cE`_oU&}*{}zXH#Y-D!VZuKG*&qiF z(P_jSCyNaz!{!(tk4BGQ{?(`Cs~e|e{~53#IYeka>g* zArgb&WgV#@rAH#`aP$%P%w^!U{3A{lbxwihVgv(1n@fYNd+B#Bota~NC53^QQcJRW zbD1Qq?b4kj7GsL&1jc11DfGl}Y-Q$Bb7_Dc9X^<272fl4hYe&>N%aF52(Eq$RJB=$ zN(VhQ-Ml(6vE2n}1^I3zgm+{`f}__Ju)89S>zU-RIhLe^sj@&xSt3El9aSor1sy0R>PtWXK@Ie8{Vy-Y)<10lS;~3ErMic^qtHu;ZGc{zm__v^yup}3THNl-rC)L*N*G+h>?WcP)`_4PY zjZePwg1UC!^ju|sd1BC?tn9BGRX@4*s)y$emUo!%xaq<>ca+!fOX#WS4G-TC1+KLA zO@9pkCZ6+uhD~XLS|(V0;qs|*n*dA7*g?koyC*V(FNci6;DiHSD%Dy5yOH8`Yd};- zJOk2N-)#lgKQ+5!PvUji*R1WU)|Y#ge0=d}Z*StsYmlnZZuonb0iXr>8(cfc=f`*^wBF{WlrW6+ke|!tR+BGPyA+KD%*co zeyvrGW__PeuG?Q=drGYnl~@DHGQ=E1#V<)^xkkCk(5$C#5QdCxF}(R>NE4F7qL~f` zipgW)WHP)p74^hnRnN)0g=Oe7Mk<%SpngVuiv0U|vhLKy4FJhm>F8ZMO=R*Pd}TaV6Dc~%P$YlvI4`K?%~vip7Z2>&HWx27r>18TRA*``-JILqu-xxjNwf3jyH2_)5()HH zPn>vHG7jMm2)noeyL8M9!tX}&3=lQut%NIds~o+yIanO)EJgI9?w0eVmLg&u2^G?_ ziEOCay0Z=Y1_3L>`D~#4_*kNTyf?A8?S(sP0u`j2p|~r?q4AjIv3J1FazCUF=Ch2KX*|IrR9%dyZTgHf_93F!_KjIs zs6>8YOUZS{vC=a=Un4VQBy-_kVJevnKh{V|9oHUFDv*~J<(z#kvO@+M_3D=dSHWb!Zl{=|O8{ajmUeqcC%$s)B|! z;h}W{L9+#}MU@CtdI%iwu$G$)+hZ&7VlMbDFK^phMuVxG7M-k?rm_+9^te7Kxq*D- zt!|+*K29)9g}pq4Q;9g7RuIz>mI^Z9e4HYr69$n+Uw_27J|E}$P!ZlFp-I)48EdHI zZ6CN(&42KL_o(M@J+;2>=XCy6eMvnEtM7;~gvp?4&k#tU0NjvkkimdvptB3!sOR;w zSM6vQu#ZEOO`GLZU@TQmy9=RgJX+V_eIq1UyJoLy?Y#FjtBJ<+_#FM2oMt==ch#Zy zMI$|JI+IH1)*Vn($($eB__|;kCEw6&GgpZrN=9MZ%F1&qD_2XL{|(QbI`te0w#)qj z9X-8+JMVulA+F0{=&=AfC$7Q0-%L@!G!4XLf#f)Hj}%57+iN>D(HW^-i%_T3_L1oL zwwVDOn(X_tmaTUi<$Nt(MB%3%odQe}+=GR2#f7MT%!d9Wbv$k01w{)++O?|{+s{UH ziNaZxbhwgBHTAoo3d!fVEt+;uQ`53Ufc`!wlpyN;W#XoH0DJ!L*+8)v$kv=#%<<1n zxH$h_{WKDMkxVyyT?jpb^M2~gw>6M>hyn51D)P#AW1&E?5!|LAv^Mf>*adwV#@tJr zya34cP1gcdt)45C-K_qGGmF=6AyZW@q@#;RE1G+KC=<(ouFRY%9$SpA|3wx{infi> zU_AJzHb1FX;V#&A;dKR;WTVkc<{w%e=y`UW9p5|Q1--d;bWDGXtEJPK8kIB2hxB&j zwrGZONQbyj{8srg<;k{f6;A}>!B|GNA@@}JJ^hX!A1L6flgRP&bi<)2>BONmEn15+ z*5`m-GD>CgitzWXv~*?$#sa(;PF4U-2bW8xePjT_+NAjrpm@m3Qr4zYEd9k5a8&?QL5pt5jJxpw&d)2E5Qr zYX8o{aZu!1cWW|UT0L4yk>Wim938`JA~DeaLd?V=!$+yIj0C?R!xvq|^0*cZ*fy6! zf|;Tmd>!uN^wftV9*%YXbZY0Bd0|`Ke|O_EAJ{&5boun@}BV^UhaS4xCJ2xs86!=K;1k2pP%kmC z8|tR!TuW~3rGM2PQI82$U=+#Y z3tJ>n8Fqf30-l5QgVkaQP?5qQ-nh~8>17i*L1rGqVTcj%KLn1-ps#WND@uFBJd3Q+ z%>U)&)8seKy8IP#?PNZDv(?I#CMHU`mSx6FIz^z+!l_(5N%El(qqM+{WFxVHRrb<( zSM^=<>~9As2f;@g^|sZCVzaHnRDUW{p4d83&Y%>b21t07dW3$fNf*NOaE_i8wQXJl zmyN)z%;`<8X2~m%p(d~37h3g)0W}Gti5)~yklL4y?AsUlitixCx}&e1-#7Y?mGoN4 zcV_?3f$k61MDD8%oJE3&-acUgZVp>DY#^h2;b0F1AjT2lZV?=e738NFSK^RMwd1J7 z&k1pfi-bC$R`T+<>gQASU{D+qgKGHHiW?q3>(cDlV~_srxDtGnaO*SKWCXu*^8p%V44i@<|4m z95OZ|ldwhEODgHxDp)OC5)pz83bKjVGH2u(*jS!^8havp?P`5nFP7{!3tM)N?=RId z36)6iS7QN>z8=wq6L+47Y;V+7j-AhIr8<7eM5*<~Qg`*3@+zUofo!{}CK_4SP9^$@ zjF}9LPE3wRrqpWqK(RfylT4rEq~nFsn8v+=d-8d>C!go&O|Us)UD$0Js!0X53~wKF zT-NMCJ0($NU-LF6m6~{CFk7CQDbMU)ER_a(rl)pw^B+3;&|2Y|YYJ=Hn^bD@)cXHD zHF>ssbkIt<>HaP6xot}}yLjQ?nI}H6n!ony!s;(x^v7S0{kPeFkZ4Y0W4`OjT=&zDbC@3^CS>Z?C7Pycg#5c;eA>!m-!R{IsQ zGP0F~jN?SQ(|~SFA0)V{UA>7xo@i6Z+n>K}@v$v>_?FUleh~b*&s{rm$q4@7J6pCq zw#Y5{$j3frumAm-^>01r-n{;;uX^rts`W9J$+%7;U;h^QDm=L3zND9MEJKt;eM4S| zmm|chK!dC%)ovKEEwVhS&1>}sNh3dKlm`(rX+{R+#vpGbGiGi3xm(U{ubJ!bnV9(I z^v&a~JMR4OhaU!$SjlIz`O55;Z0qFOQlqi7c5-^_)0t?TMmO=>C4emaL4V=LT?I2U zWY`k?UEjx0z9RCf$B?jcSt)sARMqAMFed;vFudkVFB7~}&*$Rn@1@yDT-_eeH7)n9 z?c47HYNT$r*8gR7b@gQbK^6bfm%eoO%7bsYQ9ba|s=4*YSm)sU{6TB|z1ZW;=31-u zuBit$p4b1WiJLu~BSTvtK% zW_B*#0e>t7V^hW2la;8VjMpk$$fu@qBsxS6ZrZpJqS&`Feh@gm$YBzT_43MSwk4&j zh;PT2&2N7O;|z7uHZvPPrsG?>8|5~He+(>J-xT^cWV@n-4t%`jeev=z_ez?) zxC!nu2+cTo;XS#@d^nV@N*@|!m+)FFn0ZRJ;{j62M(bTl+=gL}TF$Jh$v|{!%q+%p za{;4!SpfX&4v0Z)TxsI2>>aTk+2+J}H5F278@wR&dy@V}M5|*qT&7z_tq|{}usMbg zr};ACdFJSWk?TdC;}JJFcVg(i0XMX3Br#@492FC8fxstAeI3ZkmYrF)sVtD71^ygg z@(YkCBZaq?-XRTp-W}@=V>D8*7dg=%n<-^Nv(h@nN)*#kOLKRvHc#|N=W=ie=`lJn zfoZfYN(6wW1%s7}lZh)%0mI$+Od2Lq$?$khsWY&8t&-&4#oy}rO&J1;QUR->^>x9s?{c- zAO)!0X(51Qh6amI?osN*5{kbD2Od zYd-%sIY2dGyVKP6K<}LNN>M9ZNtfH5QIMu~BH7%M4Q8u1Zp)Tb)XA3_;hAyQh*E6y z@}}}XQ#g>f^=Pu$Rg+ha)`9rf+|G<0$<6l1Tx+g6+OsJ5A79#+Z~XeqawZW0ya?g9 zSxFjBAs_Yi^d?v6tuJLc=@~-K9ZD6M?{d2MWHxsVD)z=4ln-)d;?ek}>^{DV@DD5{ zV8Y5U(fNiiqo48bo59@ULEpEP-l={XWJ@;e3Ca#UkD+1#$0DkN+u{_eam$GnayB)Q zBLL%-&HK9XLXwG3nuHPc~6ZYbiT}edA z4mg5WQrfmyJR8yjS@Jl*mo&?u(IlML1UPg%9`+#0By%qv$1FXZAcq*HS-3;ez|TMZ zJ~Q$YFjn^-L z2w6sO0>6)qa50k|IxUrzy5wv_i0Q6Dqvd3LtX`goCli4@kW3CXnk_0f%sE502OZMKG6ZXwr=AvcUy^ z%PYs0=#v-JAFGdIZGvPXv(0E=CY2GQ%sW!|gq6`6L#K*s(#NtIiq^FHifvhUMFPdq zRyQ46NUYvU!C@d;h`#=pUjO=2k!CZrYyEpy-_#siy>(Rmf)+N`PW5+`VvUj;zIC;@ zHyQC_r14I@p4IJ;GgyD>cdm`!x>`Rf^3WPFuth(IoFDP)7p}nn1JeWbZN?tp#J}{< z2yP?pFZ+jh$!=Z#&y2`$BA5MVC^5jWZc~;!&@(B!-5V8c;ivGuuZIFgI+Z9*$GrLN z0c!=xy?ez9Zl4dur%SO++6bnDvO;+}7Vd5jnX&2(biBwt-eDB-e{`PIoC9`QfSI>;nq4U!(Qh4vtQ)o1KamL@01L(P76VtsdFESsl( zJ3wIy{Rk@xpj={k{(FBC&_30%x2yXTX}a{W)jrpnC3;z_?2`+4#f&-3aGclCjh$3~u^uKpLn9sd_}fM6CR)6l4c zB*8$jfv(BBHtJpe#Jul`z+)t~2^zP>ypeKDN$LUC@C^V2zc1z(9t8U2&FJvS z?Uyb9!0mr65XG(`Ned@;>_}drQKPO~b)Bl~MqSU&SL*plq?#P9^ux9rAEi?%mcFG@ zx&3W|{kcpG8`Yeq&4U-ouYWFHOb}@dSDl2NoGw?3M#^*+2IC<(YKUvQp$>Gf5^oN5 zs1~KE`aJ)@R4Eqmf1-sW z@0i#z`Xq`onHU#Yae3UNDW1$G+c=H z1yZ?-DUrd%&Oi=6AhI?PW<1i{EE(uTD%zP@mEgYut1$0uLJDnJokWS9@yVuHbqCbK z^g<4(0ogN6?bb++sFR%HP7v2xyg<yo#BW;JnaamCv=xizqSIk++PTizwUP*hL;)f}vJx1Yb4!#?uqELa35}MY`#p}1L*zAuCjK#-0>)+pg z?bbiszGvH`%lo!ZW%khbJ_7IR?%6$SyT{4}rPT{NMtAyS!$#MBhPXu@oEcYF*ogTr~0v?K$$UI+9liqgevF z2QxuhB`%w@^iF{y5GNIrO16Wr#3LO(cjvF)sdjth;v%I5tqc)15#fi`HE=Xh*dGj6 zC{NFaonSabyJJi$;H{8K>QRWc3_DhY#1^DDK!2sOwGccn`X{SpZGp~;6h`egE+TU>c)4ukWli^TO@5{!2=INTUOCWqGVk59kHRV3ZXi2@WTerpNMGvoKXi zk#qDK&Ban?qEevajh+~C|`gE_QqpT6QEtPwd3qDI&Rq|+uf#U`=!(rOy+ zILD!9RDg~en7#5>;Za^4i3TG1njp0Bvk(`WJ6@wagRGJBh<~AvsvOfgVTN=gzzQmF zXr)XrMHgX>vP>^yI5ATXg9)Gyfsv+k3~~Z1ij!#M=1sVp0-;_zTPmse&YG@2||$YN?XR8Y1a4-HJP z0aUwaLtgAZr}YGU<~q%}X{t>Mj1rwDiE*fii!4|1NV$qZPdf$AaYM>pN>K(8iAGJ! z?IsxhW-w(3lbpPYxq+frteHabqd~A1i^rX?(+dS&JyC4Z?}qUpd6gHaOMF&PzW9{T z4lX;mj4+n8dj=V*8HcP2xhB$}4qa-JnFeJHtzi)X?xngIus-_RW=uG%=(En@QZfR= zl@lcjbgP4bz?1_L8nB+U^)qrE0I>V59$*b3*)Po>?9}e*v!R4X13)vP-?Z(3W##?A z7*o_XzjiNIK^RVi)i39S9yXE`5O_9zq4l$P?^3$tIdSV?Xw^(PxGaeEx3&$WB5REi6441o#c|Oc@~Qa4bOz)}#Y{qYgrGi1P6n z90v$yiX>7+Vo5zoql*IfZ9!5qPy3`j&&p%rQ0p}r<%ZG^Fgy%(CDln#pT5l5`|YbPUc9(%JaO^LD^H&ePs9Ro#JIX~G#GRP6BnJp z)g6f#m?t4m&`w+M$ORrCtDP4rMDU$V`= zo?E)-*jnE)va7jlS}m=Oy79U5*$i!rz3xhFI#91w0`91KqSPB=%6 zltwqlLgh$R%hP`{p0%=YlV#hPDCKXPak?)srlRE3q?fbY{>x+habGNU7P!JKvtLh#mH?`5en?92-$k$CL&`KcVKwRNc6+Mk_B zqjV5H3AzvwvdhjU88yJ~Vn);r$I)S-ges1fv*gCbca5qus$c*uXME<8QIiL zn?>u*jNPs%VP6~;Wbjt9TH45azwzGpe&fMMKl3Pm>t8tCJpHa&S~!QhX={&F+*{sr z=KxsCgsk-5OCwi5CM&+sJl#BT?M*kmDnS3{HZRp;irK~W&BCfZfOWo)M&<%p&=@E)M98*+bKC$AD>4J1)mFU*8gDO zYvX>a@5i`j(84m+7*=yuO4eX_;R^eZR^m5IbkV$$u)+UCX1C;VsFq=AmeD6}G7}c> z+Csq!ZVR4CdB;o#-I$S``-gJ9ku(B79&(&e(6x7DC_2Q0eM>|S#3RTZ)rrK(kkF;i z{4$6Yq!$s)J55w9@}5Tx0z|rXXvveIh^wPfiKj*@xr)25pqKZ8kFT_hEF6x>TPC_E zjf!`zHm1no8)dpX!4Kqx>80XAA!|x^568|Xqpmit(b_{Rq8*dO;A6}u8aja$LQR^< zRM>D5sG4XZXiTMyly(fK5@i`u-()n2n)*gC9x;M($Nm+(aVbD>oI?(k81(%K{t6ZT zmVfYQo<)q#K)~4M>RuErA|g6uDy+>&1dbqfZqzUZnw=4VwG(AnR(CdRcRV=0PWrjEdRfUSV-89Ct)a zyvuT6(~P9UzQ&>uPpoL)bwm-{DS5M9*oXXp2>_3wjgH>>p?apv^GE_F3RI%Vij7&_P;HHEMU zhn#P~z_?+YTKzp%0kQF$P0@#x5oy1-2 zHVUO}TQfL>4AV{-w~+bL+KfS_k~(oi#wWF5@=VnF=RK`bQi1X41e86bLO$>KmUnz|KyN13d&E5e^cIrx$i(J+*loKb^6!K=^pnWi+|!at^V zbl1$(HMY7}#WnTd>!|bttKWTA{~PWh2ItnTiI5%pJT=evKoRmZ?R8$y9En(QrT^Ib zK!%6jrJJt3w3vuJXePWbO^nwG$7l5>9*3dse=X(-J9wS0CLuazk(>H%!a(ig-e5x< z^5NQss@E~Y42o}6U@h&yC`F(Vbx3{Th;LsBJLVflev~L48u8_sD>+GV3(;$w6p#E3 zh{Y3+hcOqcf{*1=h*&ZgT9_qbo{*PB8u`Ua^Zf*f3@B&C9;G}}azBE>=2tlNxs*MG zArg)a@ZOwj)n`nuA)hmlLs&k(zC?9T>^%fT+DmjH*YwVA$R#)BhL^7L%nENt$&@eYWQfm$|++n7I{lO%fY-cL5~RaBeBru=;LZTcCekU)acTQ zf=3KtJBNt}x|J}Elt_Z+D`vhxfv2Y1*~tGC=RjNvj@VS^m>qUvKZV?}m^(jTn@LDz zIJMLyp_VeyNTNHR*D{F%(;Oa28H-3EYDYYnTpeHX(hsp^;tx^=zY&eUs7?$z%cnO!L{378pYsjM&f^+E&!sb=%t7 zZEMQqs|#z~|4~ifZD{|CuMfYh*0PN&@wd3XG!qDgrcH(dEgE37leW0#I^SLcm4F`} z#lQFj&lOhx-AdSW730N#D1!rxtg-qcrm z)E%CwSLSj!QQW|Qo&K>sS}>a$J5@07MJ+vW=tGsgNw|a=Op^JEgRfZKvHqtVm~wKl zTs&V%+bSALQuY-BTJE;+Ox#l3Ah}5siNX5MzDiHhr33vYzl2b|Xka9G>EA}?sBb&s z_let24DdWLz+0&N`q;>qMt%nw9nl8zr})Es8bA(Zn{D38`N-MLm(7mIY65uvn!+9> zYej&wBFS5}pRnZ??$9I{LXa!NcL@W|@&(rQ|7=OpmTiAS?8V;};Q*{P_7p~l`r8@~ z1L?#*91->o&E|><0|&o@wsui(Xbt}B`bucFnyq-%*HVnQ{_O-r(5caUP1Bks#}hJT zXk?qFzEdA%2sHWaXRB^nKd5H|Tj419#ey4?J{xdbM510{NrfUh(FeihbKa0@J8KT>(@sLM^QzQh!N5@GEg|x{T?Z~t?Jvka~Yt6P+rDV*30z{t};~Phj zfKc`5v@<4^P9!A@VGk}WxyeX4rdr~MZpNu{NPq#z^Mhyy#)~L)^dE^Spqj9G4~<`m z3Hd4?mT+QBc-+{aV%uWN4$?0c9=;SB?W+;jh=on_^o~fx{@vHezpId(+u-56i#WAGJ+4>b$S$kubS$l*Ei_|G#yAS0b$ITg+{-PC9N?_U^x_f5zFO)5eyCWcTAP-}r+ z8(L)|?m%sb660?fC46}>;b;QHDd!P=haHJ5pW^JI2C5+nZ+CKM7eVEytUNA6Cpk;E z8|EX^NWMIvu>Nc@)l}CKMF<=J7x&EvMCqv2t;1#WE!acFs+Qb>0a4-{3wga|9AA)l&JeLST0)|XBf(mFKcchC2Chpdj zviSrMx|@vx;T?V=rEgBp3)QOGLo&OObb$t>n}_k2EOiY#aFelcgFqzT_(RLhM42f@ z+zKV!$e{#HGh)d^Y>uKHGvt`(Qv^tY%`p#Jl6`liLcus$)T2MNFydLEbR!5l2QC)} zc!Z;oKMV!CME>xFj2RRk6j2&XFd$g=aPK51^$*%k^&VIO2Y$2CBMr&_P$6via;PjfC5nc)Z`oyr0s@d$BgBb~8(W=^q zvY0aDY;HVfB#YAM3uc$8U0i>D{du+WaQ_$fU@n)g>NR%t66^oa*tV@PQ(vgOJDeJS z{P5w&$2+R?%!kywe$fBQSNdPMxIeYU&?e?H`YQxBKFe1 zU@w`z%`12bq?nGX2T<)dM@kH46;MNIGAa~Y5vI3g3$^Q@-5+GsZ!Y5Tjsg(k`VEsj=xD}4kJte)t8~V~?CQaGPa6q8jp4T+>SwxJsXAfcz>G_d z&}y5$<+C8hJlg_oBaoyPHwbwqbwlFZU6eUrKaZQ^lrt*3&oyu`3$Tg>QqmYiPQ|YX(B@+?6?bxRS`aJqI z6VOI$8hu@~T2l)q&~Iu1s(IeBbmUSk3(;esk#==k6Y~n|(2k^4yW*rW2H6BUz8k@a zTQ-uU2Iz&5jKqW8x9`@}!RH3Vw6}kHpIUfoHh}V9#aK)%v`jmlBNF|Ofha}TbUYwO z3s+OVLeAETCi6OFgH)q=u_Vk^Hz%l?G*u+-#nUSIa|G-R6@2^KG2Vmkcn82HL;HCk zp`jFyPvz0K#B)V)3EI&BNG?PiymKdqr zJv1aW4l*%C8Osu8vjAY0wIln#vTD&BeaEjX+cD#|>%hHI4xYa9WWey=>VjfCdLpie zV_NFkA9q5o8*=wYqkCzg5si{?YSwFb3=lr<=ezdyt+o|ezq$0w*991SC*POXV^)`i$$waR)BXpGU9R0_mS0!QBxqe z|9QdJCuBH^#V8>!|FtbIhRghCDT0>wBr=hKykG@eoZPw>wlL#Nfrf=1QZYd==%zwqP)cj6ZP)nU5KSfgn zgeU>uN5dI7IyGD(HxRNv@?krXCmvy!gViU0`V%y5#5)L6{*IGlM`x_9`@`v~t26`18T~62;e~Xs4_3_QDpsSsG(@PU(U5=UpdcO;4L4&zc#HeFjcd zE4zDFo-#xFB%VC{-^?EgHFI8!x0>B;My3y48))=A!ed&nJkIbD|9svpQmIOF2`=eZ zt(-%^1;XDj5gsgMs%JKGkDE1s|1m%F2zAD=#M2h!70>1?-fw>X?=8Q0@wIoq|HX&( z=U#m2FMRoX_3TCG?z><6;=|aBul!|~zhyY1C)B0iQvaep%Ph>GDMm)cQ6pcW&uGJY zBsC%yUX3o!3n`vM)_AYR|CastZE>B0TV`)LdjJ{u!2?dYcW|jV8OwLy@zq| zKQxX#yl>^^LfRNzzGmUh_kFs)dw!-682`)zp{2`wE8(`5z6@Yg#eYP$;XM*h^x<3? zaW$A=R=;I!dWxG-A`CKA<{>TMWN1a_vMZm@r(eh=&Yg`X<=H`coLF|LW&)L&7D$*~4Ts@T*%KoM_tKHV1J z4#(yn5WWwGg*U4XrQ4bM{QTa|$@=AsLv`8AfF|At{HFIg;hz)3~Hr zW)Z-y8HpEyGZV={Z#LMU4+ZwmkKWTH{ES>vTvJ(-*dHdba0cfr}6$!k`)Tf&WF^EkXJO>2wp zXv8c36ua~HX$8gtMKJ8eK+fOg$t=4udEho+Q~%4zo3uA84?kp{*#5O6uYo&#WB`5( zEh0t`(M*cEL=nk5D)i`sEiY(t#>M3(2njVth+u7e<7v2rmvRS*obiezh-fOgd$`fk zh-kQStLMiIWb3jH3~L*&mZ^Z<*rLDN;b!>KAL(W|?NuQH3cC1+5$sO*;PhbAjd_6& za1lZnrw~Zysy5Y0V{{e%t4K@_n~B9xR5zlbIT&11hS4A?rSz>dpw-m}u&|9>bX0S` z8Ow(V_BaV5-FgW3mY0~W`FE|7+}cIs@_0bsj2@hnK z8$KU=BuMFS6Yd&A%a7%fsZ0>Uk%f3Tp74OM!JHqo!*x@?F_L)PX~Zkh8eo<&H?qRh z4Qr`jCOk%ro;K%k4;;K{m6m zKcUipZ@t03+xW22@97=u#v8o5@V3_PUszDvX7yR@+lbd%E0vy^_pvfxQ6FQj=b7ng zGEUr7e_m%S+t)q<)LT~SOnPVId{1h}d*>TF(_X(cvAjHyXqBHj(P&L#aZa`xCo+}g zlgob54;>yaeO8;G#(M^C{*S7VdanYkl^`927jB6sE=moxD05e$#_}ktE}5c0p@b)A zWm@K3rsdlNe1@f^lEO(gztG{^gZV+-4~)_b75_8cAzdtpWQyMg^PR45N~C=of*p~y z=R@`Y_8DU2Ioi_jI}rb$Pvn5?KIe;`75xj$I?Z8<(gsbErW=}kyVaf(4Nzy1*fkg~ zRG`QvaRk{`I)lTwq0i?qSBWpMwX~pYAZ<~&p}b?Z@Qr?x|BQS^e8-G%IAH>D3HW8V z{;z+4a#=Vte=Qbc8KqM!z>tuu#XtPfG*Gj!5Bpt-GYyc9axy&lfsQ^Buun|ELO5D* zC~Lz~N8== zHti^ZD*T;o@{hi}~akBI1IOp|G-8p2lrL_RQpn*5Pu*G&K!!j|)L~ zJ4j4{s#7jHd*u{d_X|ot<=Ig$!&L+E0(Etz)3bt;6S`UPiqU8~?bIrx1!z3V7{S3} zjN(6Pz{tPR1GQYW?Fw1ALOfc=$$`ueqGxDL#E17{ac(3Vl%}@yDok)zNvcUr6{vX> zI|iKsfeq~=U|!95DjGDf6`&?o5on%cNi%5Z#kiA;lc3gS$i7 zCLIzSf|eMrh*A-z;DMt)Bj8rB;pecsutv#RiD@oqV4Un>K?Qa=OE*6hzShe=^u=TI zGUNgDRIN68?sCYKdU#oRfyf8^*%ELVm^3=V(a^J-OHG>U=PQ*Leqj)b zBwa#G1hl|>RsNX5YCB2gP9c^XA6+Y_E9C6`_zEN73t06wS(!HHMGReTpN~iHbx>s7 zVu1@uM?^6w^$u*7r`LXTd0BlumD_duw(hZFEI3^rT(j-E{#6gIY`NlF=g-&I)}Gk@ z-&Y>Is(;;LV%3@P!8pC>0QeUwr#yx8O2x%1jU;>E*D@1eyGuO}n+#id!TZnBn9tqNX z#IUh2?@LD_*j-~=w};pNJXNWr)R|OemGZLkzm2{;wCCh@kN?7huijF~Sn89-RK&n8Y?_J5^$?#wy(_fq8%yupzWtp` zO9!^`a}%mzM%{SZuG+bFFuOGk#rCLfB$xaj*4P+dFED3+3NKM&L*(R}cCRKT!?MP) z$&4-QI5A?A`%5WLV0??|0_Hb07~Mb(l0L#V7=mK4ebft2uYdgP0o|g)MK|Uub^^T< zvTNBw9Uw^UKw*3=OU)EmxLE!0RrT5Rzw+WBN89(EYegxMZOkERI{o<*E7zO=zEPZw zXEGr@3hRC(L9?HUTrRT^K`FaY3aMw7OUq|=4*G@fVh4lPxnWPO8;Oi+q3pu;U7X`f zm}ZMvl*St$=kDy3a}{3?6NWi}L6eqjI`3KoETL9!4hxI7eJmWYcEHx#tyi)rXd7pL z&K@h}bGv^oJ)bGoR^HM)}}nIO#rS;k@-Ykn9$6PFAA8_6jOv(rcK-Md`fc7E$eKYHr?O~+rgqMqHi5ZjLE>_kMZgn*XLB>tL+sEV-I~q%vxN3{Wes!ou=y?tLYZI?V=M#(At3Tv0 zh%JflXE%%bp=j*$Gy_E@n(y@j0nb%Og1zMJniH~y6hmw|_R ztS$8Vr*|H?N$qV+t6$W+Dsb|6HGkdC)BE?R2Xyt8qxZb|3iWPxra3z6uD_~2J9nE> zx1WtV=b1xkbS^#1M8gQDVNWEu&jyl)rk2PlG-4`q@TTL(%Y)JAXdp0F%$)v&UaYKO?y?8+%7!J1!D^)wv-gWiwnqlWCjEq|acfLyPjrrm`_1u%U zo_xdf5T}9zh4D;l5DIMs54G=(?ztV!PdlEqq?2ul-EY!{W}E+V<9a_&Y(Th;Qe;ht zVnTT+*Mr1X55U0YYp8fcQ`O{&Zt@pbEg) zcob@JI*?8WrkjCQE9_spO&m{fB%_Wi>3+Tu5*$Vfhv7k9cLxHxkl(pv$L8NJk&!p> zEXxwW8bt+N*qlY_41aV%P4dImkY zr6~d%a}%01p>;@V>mBmQmJc0;9>jkJFA6zJYr^bsjY)g+#Bw4OL=q69jX8o6syCyk z)L_XR^gvMO`MF+;^BFjJm?FTX7rXj8eI^~C-8@)cE`e{rg|> zH|1{^Opavs{2hMHFw%zcHvjPhGmMu1@Q2i+KM$FUOE)tg<(Cn$`N)S%H1gE`0{_$D zXTx>)_@-?#8aI9r<(n^m_<2UqV-f|iNuNw~v-w=EJ894oCjwSBZIm|u@x`IBP2)(@ zOhw?ic_;AVhpZG%R>o54si|~otdjh?v7qY<#_;i>ok#rx;E*MjBELMLsN|?*;pQ(3 z$fplK=aH9k%JPrbEw8vL!}q78P?Vn-H0(U_zwu;HNiHpnum&+Oz{xSo+=4)Zhv>_yXyae8^Wa`Zp^oUB!EY34zrLnB!=Ne z>OznpVk=4;YRZu2B6pU15kSr1PtO%QFqS`LnT3Zx`S8{omlkHJMRLQj!x2Ya7wMJn zjJV-Ovsvz3nM(dx!0jxaebbxHF5S2_M~JMLtt~_xWTXRk`~hU~9YoR}=4oc@)E?7QA=u1q8PT+o(tDpeDl>;?cC9N^^qfk zg_de|vkMPijOH`miN~(K=Fwd{+DGm_GFrcn@;Z0a!BiH%=v-TcflAPteZ+{g# zR(Ew(b#;!@-IMc7&(6-y&dw%jS1YYnX?G>9R$&!TKnNj3)FKHi5d;=+00$wGjWZZO zz9fTeuph9EjkyQ#;esvO*Z2gEjcttK9GJbow|Z7uFy}nJ_qh`~RO+s(?|b9_{lC(E ziAag`PT_VTUol7p{qy6lhP}Ad3B+BDGPi_&k&&~5*#&e1Xue?-n*Q;_!8fTR6msL4 zatMl|7Ph>1w8E_qg{@Yoj)tuVfKgKAS!*vfh20jQ zT067U9G~*rmp#94>wE40V^rm<BaGNPFO?NNVE5ng_KZAzadY?_*@_U&;* zlCGK^P3vF2v)deOgmqU}yS9Go@sf=?@zmq{_sm`HrF1vEYIu^5t89*t+89E`P16Z2fKcg!=g>w*K)6u~mf^@;^s$g#2uo?kx~I~Su1 z(Z`ElCDGR2*x35QH`chWO>(FkO6QIYS=-Iq1CsuuK?vzn+HJE^9Vc@}=>xxjr|$RKoKJCxgn4v1Let_a4xu z;#RPjrz`JdO(*0?RUG7DmM6L3|4XUEm(k@Ig3ZuMA`a4SFG`&%i@A1BoEp!!`uM zTAd0~K;%e!rii3~|1G(-b1X!wvwpe`=YEiXytC9+nK!N^_$ zV*MeaH>7(fGZYYED2XX1HH^wwF-!oN-a&{z$^;-Qv^kgS)a zc>$ep0|r*dlIa|s54~>Zu^Gv;C`OyYdRPzd(@vP zj*f;ifmei}0E?;sUmNrnnJj!fd;}GgsiBXhXOoJe>}on)A!(xm8cFI#hav3p&2V!~ zBdny;nJ~%bNkIaO39a}P(uN~UyiH`P?|)BgpvVbPT2I+ z7UgNVG+|HT0B!(KI&IFusE514S~h{zlm-Ds@)!vVuA}>H(j3RCoi+TUls)!F3mcQ7Q#vhhzBDk+(78}T8(d5R z2@?tK9T8qa2yzdpD&lUE2{$tVRil7Mt)iJp1B8ety$OVnCfs%!EC(5g5isF&3;nOz z?qWWlhNR$G%b>m#1ixjS(UaX^G&^PZzABk#i_l#RaYOMsRA|9$VU$x?O!)iG+yU4<(-LedNU~*n5@>p2@ zr3^tL+E<~%Q{d{2Cu=@|9#bFJCU)fGiR|n~4$j!zMlqh(vTM$SMsm(nY5%*@gC?H; zCfgDeGU>4admL5S&&0kDP;^ z#WSv`tYMlh4Z(TOzu(?)xj)X6@&QOQk&m(p3xY%1WZbt6Im8t5D#!wfTI>^l zq;ms@p8t|#cFS%Jde+7rzYzX*m_<%7flbN>n4hR4#+Igtj=_PDWPHmA06AQuv=f{g zx0s*E6_T1kW)+&1#Y}ixqnb0WJIqdkd5BFSIWi%*y`*1hPis0EKr@1JR*x4r4(RkqK3#&rZ8Y7 zgc;0cuu*0mcBA339@kq#AB=Nk_|d_WxSrH-oAlk_%+fc|GnmNeQF7--!1pJl=u7BI z+%MWECv~dTYZetC2};DQru#ao4XGYdCK6Px+Ra-w!9 zH8eH>wWyExg`^^1yS!5jDXUM|q1Qdy_|XEN-(UXOshO%}7TnqPyKakofM>A#p5ar( z)4~OC89gnG0GAP^<_Uc>qVT3V z0`6^LUM!Yr+%o(NK_;O`al!Z{a?X173C*kLD}8P2jb^`E9n;mNAk`i4Jc(2S2zx%r z=b-Jt?d7_o0=NtJ$f!Xj*&;o4*0PN#9JmMK$aE|3jRfc|pOuuR-3v7VBLU=+3)QH4 zCg1S&tta$R8txkE#rjxv>rRAsV(!41q{BT0LjaK`V=VIiZa$ zg-?tuiE8b|K8YZcLX8hpa>#B2f+h97j6<4qqM_9uPWpvvg_||A`;z6!&O9}N?GznP zY#}Y)2ITes;S)cnKZ=?EmL$gQ@l=!y)!$WW`3Nq=?O7ERE=*L@lP&iqecZ1*9zA{APPTr3wc@Yu%*+5j9wVz2jicN|}Q(Ys$HW8{11zNTJ7pBl-cibc#+A)mu(5wzeINcE$f88K1; zXg;@gSvDchw6H93RohpuHfzCn=xX3_+!7Xr6uXe$(5+&omuY$hh+9}30b4Bln|fYb z^NY0F%uZ%07Q$*x(yXDxu6pQSuxROgZ2IscaH&LIS)! zwgETBMtoC8>-+7YgWu;P;l3m2gdbop%*rwP$U}~c+b}mEwbvf3@omW13<&l{MnA3* zN}TV*x1jW*)3f?W@Ha#7yQR8r8(Iy-O;dbSWPQI|(~3t&S& za=-?DT_0jjSYD5|1Udj%H>;mV^&I^*Mk~aa`i~09gXw*UtgTjPi zTGx|_tOu0UsyJyam&`$IWZLQsY8;cK{qw&CQ}=jQAw0)+#s4*q1*4MKx0Fld@L|Q( z!q-XB1%x6WR1rD`jcu52IvjBVMH5hpez1?RDYOD~_6QcGs`fvc)iiUz<0U>tKpFxW z*U$>yY2Q>>Hj&DY>zM}J%lICqSreUO14t9cOoz-Zg*Hl!K&MU0(#f|dyZ9_8hQW@h z%>%zmhX+oL2QAEGsO}yQSG4NP)%X)#x_8MqPArk|`N#ePr0PR(9|B`8q zQr5toD&T!`E93g^EN#az0}W|26`EN$Z;!rmHb`l(cta4Xi7)X;yd8jylPi+NJ;iw9 z_f&2%?H3FR$h7Q%jQ;FMiLx@=D%bp?U$wJ+qrCgnJh2y?M{$_2u@EhY|5i6y%$Moj z&X>i`D&(l)Q%N$>oZn*__7XKBsZghu0yT>i%Io+XB$9Fa2-r}LWoq#Vw}y%7?gaG< zs4Js#GcHVWN)Le9aitiU(154OB4?=LtBZANcm=o>Vbzw%KWR!UNLtMTi3b37u>4Ut zm+Cc1;&LMbb&@PIndA7FHp7uBN%Bic0|E}%z!>#df_yk*Su&Mead;W9O=u25y$s_) z<(!6NP`O|1V`wUxBPHNrq5GcVHel2>BFF!tW*XMp?X1VjC-3RUkl6G)mZ=PC5@e4#}Ck8kE z%ECtyOM}C|Ix|71l-_}i1@v*mXb!h+Px=t}IjHsE1lA z02_;Ut6LV=yiFB#>ql*79cz}BNz(mJ>Smzc!>HjR42#W$Ms1kl4x{1_X=qp<;(pjn zdewbr9CxSM!!-^W-$ycH`(&Ws_k+~C>#OfmU2u18tL8q<~NtA!fG}f)lwBP z0`@KrRI}Zjl`g1;4MZVb_9uSSrmvpQl3$2(^!{Ie*9*-4&;I+r^M#O{t@r(VzkbXn zj{iA)g^z-HoQA#Zx~S&l0byMiZH8*GP!#j1J~1*eDu#qeAwQYoX7JBA`dN7@S!`z==UU}J6W(wRQID{5}% z-UT(H+qGg)8B;HZ5NW2EO~vyi?$gw6JjAX4E2U3o<9z~JScBShnYEDis{6cZ)k~SX zUZV_ z`<6;tDp7J1sqF0hq4CjIrLuFW&e}#$r}Bv@*5H6>Mzy9*r_o2c>$lvCkszA_mco;;j<{AEr{$@3YH9>lc=0*VSCKp03Pu1%JVxo9)`+fFh7!w+fc}bGmG{t2dCBJawK&bx?pb zM0JQ)#VR3!jTXR*`XkR$EVl4(^Lr#0hmbUI90jxwUX02Sh*2#n0Yp(Y(ecNy0+IhZ zjN}+<#^-ds(HQ-u|V+gpDFl&KBj&CL1@KXv-jop2ywc_*iLp76AO3RugZeekA87XHmM^_@dF~K!O^;|Xp{wd-z8}f%n1$?n2_tiy z-bzxF>0^8|=DJk(1latXC{#a!f|op0ANj`=0Abtd3JD4Gqc546!7OFwLIB0G`K3!M z>B(YAeKVV?&Q#0ge!mpd*T%am@p5tNYe&XAz0qO-*Nz44j}xCdQdBSevxz*)$M3h3 z*(2<8BBUE1luC(?gpHG2<)?@T zBqUEq{fOJQJ$hYu?y%>D8>&xjJoRq1@fXeAH{7thsW#3Lwm5g)b?0JTP)%Fc#m)1M(n_e_MS-HhE&92HXnT_A{Uw5mX|N%sgG+Xe&Q=Q1EC#zmk5g_oh@ z+uP4n-iShwlwLGE#8*MEaJBf2l6@jnhWR4fdH|~nt4LA>JP`Il*P3*Mg@=VA63L@T z^pMaz0Y=JK%1QH0kL7ZYuED$!FpGir2H5!?z#KWO4ItEt?05n4tJ1J8@`Y z^Ax;Jxw!cyP-Ngd(tt~*o0)S4_ zlbfrI`U@9bwBV0c=5pCdvVh5c(k)i1GsW?P_aNP@D}=usriJx9RK^jk9Q4w z>)W=`jmLY2{q?PHDgR^X#Cklwo)9Q_bl*M)R`#QOb`9B=Kd z&1B-!kG*H`nqJ!(chZ&SO>^1{M&oh*W~0aGg{u7aV~+jPx83&BwzKuIvDfX)d7JM( zRo(Q0nS`p3rRS#Zo9JED8E(X0D)uAuRse)!9F; zgoSFc68h!)gD?z!!!MGL`G-m&q%4r2F1hS)bG?O+wjy`>xp>xaxVy_JD8@aYEG|D) zF!Hi6lsL^?mcoGviR5%afD#`qejIwcDDU{A!}J3eq+T-(vQB*09Tk zDm4`&%r~ra$pQWncHtsEuhr`rhXO!KpR3o)$@feh=(_I6!KwEoo2C_pmNgYBd;fl0 z?XTWeRjXI_RPU;ty!_N?PT|;DxUjlKUsp370RG}N3t&}v1?6ZNIIaPfMEBvdjH%y? z?To!37Apws6*;$zU?exg@ZvprWu_8KZ`p_ytR_b-OCw#3*#)oVA`(?3 zqYRlS$Vps>#*xhAy85qvVjcJ_+&DA3{xMDes4jo=L6L%tTG=bkdfvzQ^Zk!KJUe-l z72?L0D1MD+O8H9LpB%l~()A*7l~Q%KFgD#=GrM5U(1=w{dx2(rS?7^I{mX`;{hRY8 z%lcBKk*=n~FBejGruZv-IZWO8g?eirBx7!k_zRbv_EUbfu|XK#%a%#6TGZjjO#U~t z4b=pDBHahX8i^`Nx&biTCCXGHdYOQR;{jOQ;iJ3?7F4s@RL!kt&p!S1StKtH8_zz& z3tnz)JkxAG(>#0n^x3DIXL&k(Iu^~t*nl|gLG<4~I+|RA#07!dhv#Y`6pjh};q8#u z5-OXeQ8BCJ^`m=6s1DcE>_vYHn_z{*L5= zL({g)x>;z#$zB%Tka`HqgD{tQyhx_rrZw%`ldl!?gw&~VyhgXt#IA1d4kI<^=M$md zEf-Ts9l$fr$I~x(!PED>*eet3toHg4ypa)?MgyZHpmf-XM^Z#Ynl=!95?&)|Rqxo= z!(qt^ym3P>-wx}3PNRKf42+-1hqqAsAl-j21&4A9MyPvY55!&_dtK~_*nfbn^%r6v z;tH**x|F^eU`iabPo`(kmVhDTtTcu5N$+CtFl#0L&Oj^}BD|#d@5i3$PyGMOa!?l$ zPGfogxMt^r?(TuF=bvK~ZGAPN1jCzKbENb~HEtc(XaW zdFs^W=+=ME(K7u<{*M3XTh{)2mY{jo-@k4rE_*L+SRhy7yHIDDg*S*89u=Wb2!hK< zQ&>ScEZf^6pqc3ztNHceL_;~;SrzQLP zZnK#i#^pS|7Cam?{e|! zR5G4f9L%XB&dlmXhh|&#dh5TWO65}awtBkmT4n2MU@2jhHe~hEB=cM_q|a(A=%^&@ zt9K($qUZwFrKG_Tm=O+#xk_$D+J5%zC}=M^77?t3DS8Brs8ragt(&0hWe>zMt~(A6 z)(cJhb3dgtADZ@or+ zYl|{Mxz^H){@3vV^28#S#6QOaa&);KVrDGN>l9sbjY+zRT>vA9z$})5KuBJ(zf5)a zeQU?;pg-yq4>YfM#no3_;p|$Ux%=?ZduDcTJhVAAvZHJUm2SDx-R!BeyRW(8oaC{S54tbJ#1diM1kr zN~!w`?T#JLWZ9n4ETSe$QbMuB$R9K`I#gvb`Jx7J_@!7Yi1v0r;AD_*!YRFEkP8u6 zruGK$dcrSIm@nL2i6D9#z*WZEWH9BIUFFfA#s0kOo>D7Mt&FX>?(QZpw*LCWt52SM z^@)!MK26q&#dwQ=v`;~XpQy!yAW=&wKQPjH<#C9FGo72w-Jn+JIIzO2-7Q{y{)A$G z;gd=*xBr$}p`S;J9|1G{+St#->i1{l;LhQV;XjF~MO3XFvA~3gY=-zO%?xmsqjke3 z6A{98TlaCsaPZApf`TEQ=S5B!u(<;BCrU;MiVXuTVu7#*Xh48`?SNz+$CTSX5c91N zN)Q^qmv{?TZe9GjS*{~{;SUmUhm%d5e}m~Z+b7Vc^8u@3|1Ly*nfpC+`}_2PABJ@% zfj&zfj^ncc8wWh-m)nlAvY5hl4%X>A2Vy93YWR-b44b%KZXP+dL zl%Lo2_RLI|1Ht8hHV@gUHc6Mhq$)rh*qbFlolj?zxuh*v1r;Vi5*ljjJ*rayh98jE z!Dl9ELFx?Jj^%OEFm!kp7DIAFn0Q~s^@fuW{DN`>d;x7azB>IbIi3#_wIohVT9A^s z6FGA3`{(`!JMd|;%A?rIkdSRykLZR^gVUg6yP z;kmz{H{JVS_6qT+N2TjLQw90l>+7I9y2})q_w5kt&sg5xoFur|$o$>q86&5z za{_G&+)it*ksCFP!FRqHDr@U$5TssU{QlN|$Ijek>4`7%HIaq?XqLgj>RM7FMW{FWkpk z5-ns0E&F@Br>kXWtVb{=*SodQ9IMQ3Z9%n6L1p}d`Gz}JD=iO7wai%3!K5N8Z!`in zd%{XkFhNBoPM(~vj%++1M{h*zU__8E%(;Y^?^r8K=%yM(O-qs@+I~&zjO9?>D7|%t zEpg^mF0ta*ekSSowGVASvq(LCegj3%oL@@hRLysiKU4E_+s`X3;=4TWkK5A0`@H{e zE_d2PmqH2$@HwPB4V^QLhAp3eOQ|+9fZ_Ap0+G>-c-c#^6T|0Wz(BpvNW2oyRCkQT zT8>m%JOdY&&W(ZjLlq$f>65UmLA#>I6V(i}(13+li#I%*L}|&^&FO0`tpQo!9w@Z8 zqYYr*;td3neE`{kSXxRLn}WW|2fJ(J67vTp0Q%|`&{_Klt@R>)vh&xz729C6MZL95 z2GRB)i=a7TX>q!p$c7{wK(rb4BO{H@-eMn!xF6aMoGX{02QxU^iJgWPj*vX(U#X2} zpg~xYhu=aH#Q_``)e()_m&Ai$yVCibx`K2uXq;p++3YmhIVT$*B{8WS=Q^0LGL$~2 z&p$VZ2a==xDdEMG_lA>zU=9Ek$^&u2jY_5D5_h}pK3Cz^9JJWI)E^!#GkgJcKt65YBXJt#54X-J)(TdKY}IXyi&c-yYlCF`STgQA-<^5s;qVb=5c z)adTRt@XD)e#1}w)TdszNEc02Dfu~nVp84X_^RFU*IFHV_XN(Hhi}!D)uWdmt&S8k z%_io&x<^#kaq(P)ry`o zFa+g;=N5`=xNtraA3HxEp?|_EA@oB3tpy2E6NKHKRc}9YsNg$KCELljoxJMG!-ah2 z-tD=u_1|Br)TsNhOy<{azIiPBs2ral+_`TN_j!+f41fQAdn^p^i*J}Jo7*Vkg8vyu?=lmpiV6xy7XLZx;;4Abm=Wp zb5@FpO3etZl|V1l{9vuBN)rvU(i)3*CW2|_l?RK1sfp@BVb{`8ckkv2K%D(av)ZoL z3e|9DC*Rr37xQz~Y_*wbGa-7=?9HUInK9?*tc~PFJDlaO7^maET9_)#d)K5sP}?NL z8O1oisJ@8)HsKf9Aifgw>?Ls}hv2nB2+|0DAZB6hO`DPju=w`FqP!)^z>{(m^AsYo z#kT*Aeap)^m2LE9Mplnpre0Hb*5W7-><4!&(VNtABU4KgjlpPG%Q`(MM>9}&`Z=}! zrAJDie(@`frSzcP-$^k1+O@TlTgU6>qy_Tc%IG~OTh{Hl#A(Nnd|OeybJ<(18k zyfpFXZ>}W>f$7RK=|eU~S;Rzd#G~lI!HQSK@fK+DY&-1HPZJUe2#JLc{!{d+|17g! zkezgR133BP(SC?8o88p?V0W%s-%@MEf&~wl&r}ZTtGT zeWjJP_gOX^%D=p5%i{M~@#}2s1}kUnfOld(ZvV=J75|e&{O86k>-`d6{45TdWxdU^ z4q4VQD{bw8-pI6m@oLK&v8;F75G`BRv3OuvR^PHdz;5rg&1i0)i}E6NtVynKo%i;rQvFx&!%l154(&f9Af1afExj)rts!`c(WPN7uWv$6%zT|{= zf|5KlvsqvIr^PNLuDxCk#IDxFIm+c zexj&p^~rRumdl`rqwN$t8{}5Ws{+WxaMZtdX*!R^P6UiXF<^k0kW$Ys{3t-nv_!d- zXy$Y$trC#j6t(zxk~D9E3Mzr=$-fSu4AdCsF#jx>U zK%mJtMM>cGB*CbnnAhJ&dGDACgRHeo(l$$%o{)w^=;nSn{GCy}7@)OjQ_dp+95MDy|6FLFDGA-zw4pip__a8D__2HW5VsGN>Le?^qf2w+fPjBMy!rH zy7*EU`fel+dOv+xK1fXecbEr^YGRyt4`O83Ro4$A^-O%T*J11rn5BaHk0N-Odr{C= zoV&%&ufs!01KG_=Lz01we7( zT2_LokOYmSZI|#Af{u1}&%Jv)BkA;+Cl;oce)u6Co;cHOXOd^0SW6^Q1mtoMW;rQJ z95cC0JgYyD&DXu$NITw7=O{arGQJ(WrgT4>cAWGMx{N2FrG&&FzB|4ccXXg(I#A(w zKfY5+ni%(tK7Q24o68OJ(9%RFH)l<@b92?%{e(0QU7v!jGvTC?4)ysE4iVmhPu;Qg zBLgR&cLoC*nOx+MTc|@BchPgNcJI=h_&Udjd}+56&zM>v6GU&XB8WoLfIriuKH%KB zAE5Ui6$^rCDg87$=nQcgM4b~}P@moxuiZAEOvOKqcVd6*R#)@Yo4_<&zx8|V+$FQg zJARcBZ@#^0`u5M5?uB;AknQ2eJmWkvjlQ%1&oAJ3-laMP^%Mb4XX{aUeA~STE%Vab zFEvlu`)vMB(V+PJI`vA&-+F8Mnw7-^2Nnq>v4Ou5>2Klr`y_KmY+}Kn^kG*EB?#Nc z##NvE>#rSu?PF)IX&=A(guqYEp8d+yOAa4?$LdnBG=sv2sc4(WSMr4tZ~0N1TA1ke z;Nx5js$qy8yE%4e?1hqf?JxAD=?`NTK}u!QVED+W8f^c=@57fFzL#f6FGz><8G<(d z@+@44davKIY<+vF8NKU2x8?Rn1po7a*{^)|w%dHid%b1cq+9oB+O4-;_@gqGeuvU; zI=}3XVE*hn`4aE9e$hy)E8@xfz0Cc#b~Q_y&G*nG(99gjCDNHrI+aTAcimqz&5ow+ zkH>G%X7?wPopky=Qcm;nWU`x1ABxA1Xj``tL2=ZJP4jKp?8nV8o9QNUzIiN@0g2pp z83%YL=YB_f8Cbh1uGu}@5eLvQcHuBO%qYW1Cq@e&S$|RTdt$^;%1v+|J5oBsN*%Z8 zIf)aPS;`Vgt&35#Vg|2+h>$T|Z!7Q7RW513`{X1-8s-<0F1%)CzC9TOHly4A6gNjP0ikV z!u9g?ysoilKIg#Rn9j9*J~F{4@wvc@n4!ZM{4?ZF1XuMcBJgjDy({*C*oO(0f+N9+ zl*_O@M`L|m`>u6Ff;_X#r%LxWO!I~%Rr2!pEm{dj+HX0+Y>ZnYJMqwo6A!(TJ4u~pa%}sV20YRGFCdH) zCM|0F@B5^DVm83_2Zmt`tw0S2*S2h79 z2$eC_^6#S+gw(*6;BkgoqEX3b+s$mMJCec~wt79lTzxay>86}UI}2NL-uFTu@*I#P zWcEETmvr5F2~vrECb_bhjPKcP8wU^Q>Y|H`0|yOz_nvriaV3@RgFP$NUCP2eJT;(z zj?08L&+@z0D(rUGDk?I-c(6uO%vo`em3xb{{GOLKV z;SkKPo0Oa_QB20!GI@tDIHqs)aKE@jxLSy2xdPkSKAsT1$Y+tvL$9-@h^6v z*{Y^Miv(VQZj5&OP?t+WK@0WS1cK#W1tXy+U9&_0y*58KGuDY;W)sW4jA%7ZP|^)Mx7t<{y`-(Q z5IDf-d(3=}s2e-?W)8pC4NSA`dc~mRQX=hCDLctR*yJXum11@zN|FnM$Rg)T(){_j zPK42ylI9CD3ns>yz5JY3lzN*`MyXtViDRp`dgZdW^)vFQF45=r7PBo~`QRAb1iYw0 zw$1}7VAt0D>hvagvFEnF)hoY!13E;yU%1V2Cwuz}j-Q(;TYh$Cz2q!jeN5&VJ#=EH zwTBs&ljIv7LJzfjGupH!=^LQAL>Dmqchi8Dw*(sCBkoXUK)B&2u67J^JcWiA_B+u7JyNd-T$ zq3WXBx!2K#1AIKT{QYRdq|b(t1J^ZkHgdKLyQitOl5#{gOt^{D*|>c#@F`$sLJ4x1 zc0BrF(v(utZ`=zJI^+;+k^f(=eR{Z>_0~_^Tdt|`Tr4j~1j@TkIiJCBXp_+@kIJZAoaP z_rF90&Sv~EV0Ft6L5iS`@WSy-2#PXXT?+A_8c1fWdfv*PIbYLJ^*^+EYIge3>x06T z9kstdy0m;GuV-e>W^eF9N*G~A!DCJudeY0oI?wT?rjL^4Y~BxqIRk&j)-x3=bpq2rb&=Jneo~b?{h*_B}x&f{_E9Vrk+_ z&-3j#Hug%CX^gBDa5n#*or!~IiDR;@WPhW;lHhcr!&0-Mo~hAjpk@Qiz=*KZo*%dC zNngjc^HbG$9J&-1rvlHmYqI#I*>bKu(`ucb85n(k*>U^*ATypRjC8Zk!0(yM%T_-C zbkiLP)8pw7s&(CTi!3Wzdz#S7X7}pI88ye zN1--VjVRdF-o*M$$A&IQr(~1+@O)ogJ7QAbfS>=l?1tEHy5+&b%?&AdgnlI$75VtM z{lu{B`Gr9wwZg#+GaG#~eD6hBU@`OF6*aCa?cZ^y_m{m9rS|P@>^>U0UZFs_`^GiB zgFF1VwFcfO?HrqJ7b*R-x6F{{+*Kt`v-OXJiazms33c!v4lU>F z&5oNZs-2~&1_l$sn}2-r29mpsN#1OIrGD$K9rLMlmufnhi`Kc%P$Tq7@+uQ}d{I1{ zVGwyC61QN25mH0tVu22)BtbV>hy*r=xE|Z0P>6MrBSQ>C5_F`pWabjjRQDZpt(}#* z#hnX5=0tJXu&;djWCKnVpbRYvc4=k9&5Nfh%aEcXHb9i1CQ_Bt6NQ3fR6AQwC%oM+ zn}^=JMh}WoW9;E;nyC>YVUXNp(=#`eW|cbjw!5#I@?Zc;%pdf|a_uItB~;CvvBzD* zM6AHuX6M_-9vsa$^^LPCSxq#w3|1%L6|R9qn4gJl;di8k(|sWQTDh4!mD^czk2M!}qQn zJGJ<-jbBjX-=u=>{qM(1{6TDun9@G7Su@yfd#M1tjm|VM6N`5PnrFq#BI9;e? z5V>SWV1=j_c3^f8dhO(DUUg*imyY;d|5rk<2f=mG&-kfQaAQ~sX+T6%Pmm3Vipozs z@!}W1y^OHrN}u~HZG$|HNerYxpM`zoWM2?_CHDiLiwY1fiNu{@8M@G@Xw5Tn8L={^ zv5oN=d$LWh!-B}JfXhRS3uqZ7ltx&M;f|RsGdqAKg2>zOin5UaswM3n%Dw6YVhs$` zbgfuC;)jp`<^LLK-xMvPp7pC+8)?dFGKu86r`#k|T=1i~W`I(q+XPWp2ON|2#*)7f z)G|T(B={rRsCu+0DfbdUK@$G0g`z4IMl{30+p}}j&ZxoQBy*pR3D%!qP_6iSMFR`! z?ypG%Zi>tF+SzeI6;){T<64%gOVXY&=Pc)Qu%YV>@J0M5* zRYeV!@pvPdyn!ytgf6NR3k_YnYP>(%op@EH4b1pYG7IZv#^Iiu{W=WejvHh>db+Dy zm)2$;oWqDVE7O~MYBx@~S%2#@>VQ7KqjJ$;`cx)=sDJQfw+QC)+z*&ruVr4Hj-pks zq1N$NVxNtDCH4a{C~Y;O`iS=J+5tQs$sGZs7-oxb)LHU;?Z8hc9k2$JK}V51xzj_T z&q+sB153xuy9gvLSH`tnM;h0*h!#{1J*3ckD!w)Q#D>y#3 zrscA*HKhl1U@>T4X=@&c-bloVhk{Pp`e#FR>4b(=ONx{sZS0Z_Xe6jE(|7SM`pXin z>*~|6kw<@pFR>vJX89xD+ckz;@_2cg)?WOj)ejYK_4Vx|9Htf&S;C=lyr~LSYBPEq zz7Wzj-fz-~*048iqh;`CZ^reOwiyM=gkeAHp?6dYZ=Vp^7@;xoU+JNS4@Jd_oDO7O z`de;5s0Eq_nsLz3JCXo0PB9Gv?X@bCQAK)J zskBymBrKx^#-%jB}^u;sC0pwims6jMBztErzNo$ z*Is_|)_1$PtB+;OO4&?zE!C^krVJwtSx_-j$0y*PK+tnhl(}~&Y#pI8W_2~SQS&Ow z9HnJyK{E!erBw3Cn~&Z1+c!U+&OC7X#5-G7=D_~6>Gt6l8Q1hqwKxIb;J|^D*}f_c zF(Mu>$U)a!xv8d^t2+(7zS5ip5I%!dKULCJuNu~8e2tjmFTfOk z2w&r5>_uo>kqd8+y+8Jm*e7Ct6#H82uTkKUPUS>7O_6F`oPLyWj5IG7M{+ovKg)Sy zqfpX}TpihkEr&}Gdt6i5QwXVK8v)77I^+efqy2}47f|Ea^45wLvH?2@&yD~v!)QyI z%<0hObLw^HQ36_;YPayrYKvVc zl#@xjGp^-|ef#C6S@haOuPvK?UXA%20E%oj`&KlU*6Mg++@!ESK?AFPFxla-PBy8( zst55HV1w*f7)~N!a6x8A?37>O+@NqurPetoDpw{8g>eV&lf?M$bgIzc?93V%v%OPb zdykn`sY=k>>MzG_{~yxXVqj{?#|nis3Ryo?@Oh8H+8M}<*(HlGKAJl$?u zBtWX=xSpfGWBQ>u9RV^e0-ddTv*B`Pl^&){&-+!d^VCmAAT}e=B&r|*fx7PfplIlZS&C4%;{lgzltmJYl34wkHrjYurv+82{ zCmhAc{N>oEVxN&*W=K~62||;9q`-gZNa6uV_)x?}ly#KVLT)B@K!2FtWTdf$)GCK| zqy+1xIlmxvuw=TT8g(QH4OgIW_6u}W#ej$o2>CuojV$fJAILGa|J^Z(oN%0uOe8sW z6t)Z&D5BBMR4Teh+LSmI&HI4ZfVlPa7fcXVY*QZN1t8?c6WK6Rtq1|0urC^kt)Io! zPdXD|Xk;hGsq7RT>F~EF5+oU0u!L^!n=52${uzr=7|>@&DyP_D!_xbSGKKd%aS3 zdUJTc!BzhuF|3bq-~aE}cR)(Js>J<A#E}+rb5=w(OkmN$F|X#4lp=58+3(Lt7Lycv z+lMmOp^=}iRUw`tzli;kgYXxQ5BN}+;?%2JN$6@QV57+~#78-It)6jGxg%INDlye* z8hY5;acc9WspQU??nOyR68JIwsf(`3rEWjmo|A5hssUdjB^BI$KAj!OD-ch@Ou`(K zcN`3n#jw#s$_H4e$44kM)!g?$RKhCCP9kMZ`(7Fb zAl$AkYZ)uC|C-4PuoVmnJ=qw6KO&PXcnO)hnM{+`j=6LxOZEka0^Z#=!po$4 zQD(GRrw<+;TA6-YIT|3D@oui{B80)#tQRY#xY4bT^!VO(voz+rgZdIxALC*LbQ$)Q_jw= z5@FtcL&oT*+f$sosd9}Tw8<}6;I_nbB`Es9%h+_Zo#%E^=mk|&65{bx2AL|cXe8@1 z;1$V0@M-}}b2zXoirk_)bM3RwerR^(*$;kj`M&$q*{!qc?1>Xp&8p@f`~kbcmP9`N zL*!$yyd)z}R5B)w)DIUIq zv0Gl3%onT0JSB(lSXa~1bef*TiDW=ir#J+$i6EJ9uA$+BojjT>CCPB3*n3PW40nE0 z@g7SotClP#j)F|JlPCUJsXcp`jWCTC^ZDKDWFl0kZ)_;_&nG@l{44Lje|-GWM{k~3 zdz7l?vuE$W|NeBk8+`{atQLWs2wWtQ?iM^c7lMWI3i;uSeF~mC8wM`o5E|8Kre1Vx zX<`Wb9Sso}W;S$aG@rDcBG50{g7&1_`(Upa1m79yuybqWu}2;mD_eY>D2M1IFCQJ9 zp#J4t>}A?()XU&f{#NXJ*!UoVsUigJ2-l$AUjibi2}g>&B{PN8;szm^rwP^)ypReM z#570)*-$LjzD*KPBsst0REl#70s-GW6woVV^C)dWCP?+qPDyI96zriE&SM1gl2uZ0 z24NRL8%`5qp~khOK1hMiUVG}Qsn%QkqVoKmQrmC2th(FTm*J#ZX)b3(UW%{jiI2dn9V zW#$W#N`?vB#uL+EeG>tfrVJMLJLp3#DJsYrE{!9}%SozAvz$thikEWKkivk7eF`Zd zNIzjJW>;}pvP2W*FdAB2a(ei*^vS~2Lm)~SKDXQ@5IySvif2^d4BK@h2&taSK*yGW zyOioF#4w&P-wZDrp^0S0LV-Kb%91z!;iu^wOx1ZNtz3e>7JOQCMo>~c!j7b1=FX&~OiqIWGn8QfJm1W6ZB#a^nyAk*gRVo(|%ujLN)VeGc zP>{N|I+K*_qs{lQB(wXwhEK_+sM=7DDXox(!~ppUbfL+U^G*HB1c^aF;^W7 z)b9{;otAmB9W721|2)U%-^=HpuT6*z zI_^T~@*w|+)Xn+%GYjurc*p#!)#fEzm#E*8|9}10sFpl-337gneT79x@K?L3?)ll+ z`-oV@2GogSTwDFYNMtNWCxMg~Ocgw=U{V6<-9;W;raWRFhzq4;OktbmRm6GbqphmY zYf2Gue|sCOxh;E! zJ@o;)vzBtJtB6Kz5m$R+fpW-V$GyUR@=+KNqE#g^w8RNhNOBcgl zfC{6vfZ_|EddG?N^%H7(?+ahFZwgk#uit6C)o<_KboS+;4k< z907<48AdGbW4Uv8hfI!SQxWEjtq-)@i8SZ{-!DI!E(Mv%-VKvm=Yn#Ot9qrd9J;)0 zRf;~P-P#rE8okNOTA}H68};__X`jLIg%VXMPx9{XA9gTnh7W4fg4uh<8*gWQuP(oCL_S0A@3ZP- z*mi;RG~`pznhu>I z-&Zly;wb2$^;*v8vyS{fUaH9Y_RJ z?(mlyMNzjbh=NauBYxW;2s)q!na>z~i+ztqs=`_tt+Zs8(*Ur;CQGvtK_^Ty&q*)7DB>ia_FO-{ z1n>558tOC`N1;S(S3}R|f zFtAetF1dYTZ9)%gDqO{>ivnzNK603)o|JL|Dk$JRR`p$*&E_cNF2!2shL&WxP<|6T zy1hzSl)Zx5s5I7ZUsW-lvb1D_CNh+u)Y=s!l0hk~j#0`>)S?@}+U>OfF2+m6g8BlL zpzzA0j@VENB~ho7IYgF4g^Lf2CP}*x)3Ys#u(1j{tmdN=v^nKy)KmI|fy9!aZ;C_! zFkA86C^>O_v_EeNS|dGk#f$@cT{8ZNigz$2sH<11GXgtOIl+gr0MmpzM*@3P4iM`w z;`BPU{8v~;R;x#(DY{XT_&e%ZujkX0Y0Eh~>4hRL5()5zUn}`F6XI5NF;1?jeF?fZ zUhwf5ZESp;^U7%TG%e$cA`VCS63GAy`vpP{MZ8P*r6R}8yFdEbI_uQ z&(&um20UY(4dxhxG8m(oC+k31en^Ql_VAE6ZKhraZ3a_|oUzpweBKLkoVig#3c;eW} zI7$VKZoki(9Dv3e&|jDZu)=AN@@l3;m&PW-ih#xL*f>`7gK$z>+O!-q?|?W`^gT+u zw)G}y2%!~f#dJc&Q$+buI?{$rSc(?-O0@l%KO^4zQ4}gUv`3u)KA2|NZY4ud6wDoaWqYjoj*F5^@{r7Ku`;kZPa06*<|M}4{9=FQrgZ0{d)v`sy z`$?9STuCYi}xc5S%5T}n@G*UfI9ztm<#4BWJ*b^#(ln7Fl}Zr%FM ziIc*btuiO%C6_FU>BqH4sgq8DE4h{mgqI6?%)5Yq)*eF9#hj#IvhC>TbfgA+zsQD& zG0_xrp@W(qGFTwvh`Hj1i>gPNvXLL=t&KPI)9(bIT(mufqc=x~lzoUH`nE@jH(}oAQdhg*G5u_!twG0e*Svtmk)9 z5Lx8f40g}S#EVX?5oVLx6sa3qPwJ)A9lNjH?VW(wuQpLg{0jY?s&03o`+W}X7O}^G z^Wdl5!7E|x-VM9kE2vC}#fJ3&i*)>y&eD;oy>8gc)Iu7NPuQz)UfDo(2#P?{L#iIc z4J~@=bl`wc!j5Q!2d19RrlyWe zhm#}CApJ8Y(O!{b2RWo=r_OvZms`%8!kMEczdXf?LD(~u$Qblki+k!R#hobFPowfsA_&R*#Bo<8m`~1gasXbRh(Br3=VIykr)z{3pIP z{~g(!<^o$0Ob(gA{K=<|=p13-vn$?%c22AbfX&V5onjxNZ9{nD>P86I}P&6bs1*WDOzY{}Z~WgH)rO+ghdyLAT_$RAB5$7L&BS@hMjKij^QnpYogvs1!b-tDxY87!k&Q)ntVY_*Z4(ZX5)0p8pz5g_eO02pY&m>Mt2(cDgdNQuwkub^x z#vt(rxJ~~Q(FZ_4&iy%Z>x0CUs6{hy*@y{abM_p|hAoT$Jq9H~St79-q|!uq5cUEb zL_$fsSKM0dY}h9Ir8~A+8p+iBUbXK{rkAVE}c%2i$6 z)uFnoI_Ge5>T|kBCr(b%j7BrcSwb2iF#{+d$sj-kA(AixY%sO}XA^95Z7eX?zQ`=d z*anuxti#?VI4t(stUuUm?+4@S!~H(hXA}tg_s*Hqr@Ol9t*W=)_kGgu`8|NZ&=GI8 znWe7yK!Mtvy_)A&$}TlqD`9OCK$p&aj5&Wju$c{Egz5${fg*-BGYz|tia+@lvCLhk z-^wtGW6opBrJk~0IZ;iRXX%-`_yX(rAJ#hKT4Qu!BoPF@Yv&8F+ zi`wnh6K{XviynLYj@#ck_wvimJh*)0`V|yr80$OZYjBB}6Q%K=b232!A}66tCO#`Dvfp}<1Eg-+FV~(KJnvszUZ-coW1>>zg6#?dBDvUe8AIF#fsYN)moua zB&FtSH_YJO?Dv(RRZQCu;ayZJU%9ryJv_G`m&mI*v3nOW!ysJ=8;mvrQ}#@Fz1PRt zM71Se`*MpTB0CbU7k3fU7{Mm7e&%#E2)Lor;@0t=bZm2@+e#P@Uzgld&L=9}xg&Nt ziu8T%g9nt8Z#3_};@s9{mepHpRop_@1ocokEH^fDa$`16mV?K2O4%HJqfuDJh(j_XV(7Zai3q-xK*FP9a&3ugX#Psd*#k?71*k?5A((fD5a zR&e2N82tp(0MHMt!G#BN*SUkI_ipapYpzvZ?L7G5k+%1C`~E8$YtuFNvhx1PXlDO* zPx*ulmhmOOpwofhDwpiRd?sK z^hFIjeFenk^ZG-sI38>=^!#P?R7l0d&k2sQFTOT;Lz40G5W`o--*{HbjJ|^2`l-W* zSBEW!xP^b?GO;7S+}g%v>{Xuay`9Z?e#=BxvTu6Rxqg~LT9=-iHSgxzOkjPgzzNi zZDZNYEiL`9EB=-0bj~Wz%!JML$@F|@esTu=&sJuamVWSB@BQChD+_Kkl7&8!rHA*d z{jkuF zZ9s`}YHz~1C1r)P2*1YlXakoVrRA$`N+z$moT|)yhjL zE?JJT#*D@jeuTM z58HN-3FPI6b=?=DSx7FUGp@UL&2^7n=DNoYyY9&uH*t(WouxVe<`Wm40@Zi9>)tq* zP~1ZUH*o{mr{gxI;jwSw+4-@;4B7j?>%Hd|zGP;@P`nbSUyuO+qXU%2@Hhw0%8e^` zwTg^s+vcN&Jp`tpCf`KR>Cvg==-fxoo%>;T_IlfVQVtkmL8%{iagyo7dv8ywlLvk# z_Jurqy^|A5*d#ytX`4*wT^z_3`5y6f!OKaAU7{gB@WAd_BN*d^)8ju!X4N63x4WB8 zCN=xRu5+U_voKtkDUJVBuE~41;VGZLGv!?aoGk9!iEVVweK8~U3G({RqI<&iKI)6> zAtLy|bQJJO9J(S-1=xNN2PARGVhPZtEIw_fsNh@lT~@ErDr!b-<}DAq!tOJ!!GO{d zM>6rypcvoSdO@eMX$XpUs@hP@$#OrhG}K1ESDRN82Xcj}rrOdEEN0y9Xy?hfN@cG6 zZ-vZ)1)!|YYiZdGhuoakOSqNTDNC|MsVEz!*MI|4O*oPR%*c%fOu8quy zFc8E->`4BVFqxo@g2`DSHCpsFyf>ny1*A5}tJr0d0>qGzP2=~xnitGxTq9I!du<2G zFczFNc1dc!wDJ1c0@ktxO>e@WbexpuaPVAf=~Sq~mTG6rCVj8Y3az`1bN!t+{`#ko+UKA>K>LDtV?mof_`UN|NA zRlFYB&61z2X(8|dxe859W$`ePNT8`@SHCYlw~S$x=k!&c)6b%l+|20RMM&oH+5j8W z!CYbf3sOD~xPx;c$W_y=4NV}9SiC$S0`B*8FD|G&{_C7h@9Q5Iab`JA04_k)bXW;4hjlMbK5HjxHBw zjU-8zSu(n@9>ts6#f#<{eyuWBA62VKvpiq+Db@^Ma=tYGp4?oa>g8N4U!_cpm+G1T zP#e)o{vPTq7v0qMc87(+PKpaQmNDN@4>4YSyrYLEE{+ivV7pAQadzX%HO0UbUmZ}| zfViuaJ!E+8S_vi)B5Vp23fy64+X~2*Y^#T^KJe1XX7>eW-}IpeFMY$wow-AMeqXhG zGJT*SgG`vZO#0#bZoclde_zLOyT*>Ih7G9XnfO1WP>ebGG^JNnjE^4yWj?pe9^ zK!0E6OENC1xk8s@cag|i`{@1yCvU*<1XrO6B{3cIaHx?lCN|JFV!yJ+x_^^+b)>ps z7n7|=P1>=(*$=pGW|XX0W}bxYfY8lgwKZ=LgpqJ4#vS*yp)9fR=LO;%uR|g!W8Wu- zg;uM-%Ho7U8vAR_lo$EguwGO*$blb+)yS*iZB5VS$OI8CF*6pku3R^KYgir($W0j)3IE2Nuz(gTU5r-IyRQ$v7{Efsbw99iIT1*aBd6^dGKWn}_ zsCuELmok-3`w!u3PG=_1t|-g1hq_t(0!%H?B#w65xsTzg4n)+E=&%pEBm@ajn zBbP0r6cIkk7d&fk<#r|41^es5XAp0F){os^90gYIxxXu;h&B8Xd%=+VAWc8^w6aaxuX%FkKhgL@AMIb**E3I^ z*==kq`=ifx`UGd&%7nvqSQ?*A#+uYoC!riGMOdpMG#TMyg_;!)+_nm}+iIQg^6Kd3 zPP={i)Kq>jxUJpkTpkPt!IV;&ot^oyKc1WW<*E)TFhv{(qNUUwi3;F%71j%83cZ`#n!R`sh=S{?VSfTzbjhGvCe4 z9c*~1^>E$MPM_8s-lV+m+mK9uqGcDUOl$9aI#;oZwq3L;xt8*}qTR|>cD~-7-!u2^ z+}xgdsp|3g7nPHo;L)e<;mc%RE5`fITxhzUzHlzxe%`rO=Jq5T)kH2wYcG|{+QTJw zFOk!=ayiZ)`wk_q_ODnI-VeX|GFemi67hH)8q2TqyatjTCVp>OA;kS-0uHy(P2??0 zK##x%xFx*vc){X7QeHdu-tuReq1DB85tB__D#-9;4h9eysi_eJd157H_mrvRW^=N)o%a01+GKOdNfwf3u@_FR z!NQu}?oBo~BdKg!7*%|~;?Kf=7-rrk^~ylO*-9x2af7MA+3M3!p=QkKddefcNO^xb z{otumm?d98G$Ozw*|4;F-Dcv)ntgu?>nM+OwsNT?oC}n{(Qsv3ZW4q=PLf;j`;p%P z`_W!Fw^f<};|z0!n@bjGMn!SjThCs?RTWwpuF9{ZxT;JzNK}af>D2@khIIuhV<2sH zI9LOjd-m|OK7DAeCA4F1f$Xb@u1Syy z1e&Sj(=n_vAbNE?D(9Y1;FH7ro=Njr(7JXrrIBmvQrSm~ZRqOYaD<##mXs^tdcdRT*S80~(yG8l3K+N2SH@tQDb zv#3y^Y-Gx6H6%Vof3T|Y1^mc=D-j#{6}%Ish5$C0TEIJGrIGFOg5v|7Okm`&oyB3& z@nHgO!r>7gFYQQ%3rC9%Pa>KJXk7MS18qUO1ZJ9dKu<`!rZsE^K7*%5KLk%LClMMO zuq~uTau^pxd2uvh#ibr6IR;>~K(54TW-KMZ-x5H{MFW+6!QX(PVFS7(8{|ZS$CC4N z8FG=Fhs%gLGzEk&7_ad!41vH`P-KO(g_ih@Q*-zO-kz9qywS31(ws2L(wub9vG|L) zo18crtSDCrBuv+Q{U8PEr<#dlX%ZLyb*4tSBBNOBWzp@GV!ON7%7rG;vI-?vfYQOD zs~ZuZdb@7GuS1;|sI7p~IIL`N&~lI51L)*5co@38nwsMf`=CXJY_CScaN#% zN<0NUS$4E^o>T$I?~*Q9r)1y8LRB3LEfCHMfX0#*0DPEFP*F*5!t-oGTf)r(^iRgm zAFdTHjBsNzMaZ3?7Z*?eK|v>RaXf>l?y)%v_YFl{BAr(VUF_; z#G*PY%DpD|baFrzOe8bVZ-~+f}EkmeLFL05j zNt$m8I6po2mq}ZtX=X>V^5#D-No!|qnosf6r@4cIB>Ckmbwlfhg0j1 zm9lc9dZYSY^~+jL!_xExy2(m&0e;F zea-^bmrT>1tZXZ+j6*=9ESDhSB$4o$^@j9-;quZrB29bok1TimJa?IlFC_$Y3S1V9 z_7C~tY=Yw3{b{xPJ!^>9Yqv?sSd@ipd`kiWFPn=jnI zEYdYeK?1}Ghqs_1Mask*1O~v*?pa5|Aua-Te5rE1&on}0V0>x9ABx@?EVhwZ$l_L9 z2&Ua?uPjl{T%P4%1$O{iD3Q*UC7$pw94+EIMJO$c>Ps2)a44aY0YFWw#V>akFj~1j zX%-X@^*5-^id1SX;WAjUhJy5z$Mww5Gvit$J+kYW>y$^t^Iqf+cOnkIVRwAk;`5$0 zdUhWt{xdfQ7RrCyM3 zOKBmb3StA1;ih4jCAD=mVvXNjneZOKbe5~lq!Q@2xZEVU)T2lirSh^K^@1!54}ZMq zlR*?Da|NK(t^okRWLPT+Ktu^`vRTNnin64LL=<`8I;niAzd*@NLw8^17ePp(h0ChQ zn&tt)6z?I|kRb)c;YY3q5rwyhEUK*Ye@l&npbqPzEa`+^sDbDs38ZOiFTldXTcm<% zr}O$*IZj%RiQf_2d?!nmY?gn#XMG&QrKF@6@&#liDI=7|aLlaGv9qqyUsw()9cK4kpMku1yYpQqG9{cXIW5pNvSy$D5AO$OsOe&PeK& z;&MBL&{&?u_?TGKk#5Q0P0sEE|DF_)hu-1lc(S5p$bl69G?h}&D_S}!a{R+72JDqw zevJU0Ik!QgP#TuwR8nmNvxqX1IxGS_z9NO-cBIRQGINaIT%Gp; zWV1{MD&xV%%;2RNJ;uO*LWF`zCw7=^GXe7Epnl;7PP_g8UX6Id9 zdFb4Ktd~hC0a$1d_$pZC_^-xilqu9vln=U!<8i+eVe%yZj}A`2L?}(u4ihnvWpC1> z;pTA1x*x*{n4lbr5`qpbJanW?}`(MR$uNc)yv<&q?49GrOkBsH?- zEm(03r6{9VSZ}}~t2SmW--zCyjSn#XS16r#(Muqa%_rtKstu*U$iAj{JedbMUG z8TN%-9{9AZ9&-B(52{3PnRpzNOjGDQc>b=HvQoqfCcgJs_WLA0rkA3%3?ukkkZ7?$ z65~OB#voc*pjYKP$Oz+Fjcka&#&atBM4{|~*08e5d)X*f5X(3!&)8lP!GKs;-BMsv z=ir-_m)Vl_+vNa~u_S=~>4l}{oSG#dm8oPx-Ui65W*WuG6YFmn6<0lcqXR4#3ZCYa*IdNYWmFC*R7hW2T6V74 zY9tx5Kq@GnNK}Km%D~obaPkePG|2v{LOa?{H|xcOYr1pOL$JAer{fcMG`mz^xp9#}V?zpyez@zWZ-Tc1Dv%|Wo;V9G1__CQ*O4EyAAcNC zP?T@K&rS3|@;W@6*Cih~ynfg)cws}SH2$n#8=t$= zg@fW&{G)dqJ9f6qzAH!3T~l1&@9);3PlHdLpvtY`#OJnu^P{g^qRqYc z&N`1r*>sT73oOMSk59VuYn<}UpZ-*P;WM9|KYjh4!l}a3Pu~D(w39Cw6eoe+DUF~` znomg8LFnPV92&H1(s^yFdyncSkfqMu=r=+`KKg#x1HOl2-8pP*jUt_Fk zFS4?;nTj4Xnt@iy%;v0f`kHhcd7kQof1YmdOHgODpL`I1rktzVSaKU47OAcdrx;+r?UQOL|2$ z`d%Rj(n+hPW+KX0YBkD3)l-v`T2QlbC%3Go6;zBi5!77CG4kC+zN;z?KV1dD@9TDR zv$A|^|Aq~V)qd&04F4WnLTp$YH}r2^u531K-EU=#YT9oA_AjLp-MrzHa%4fbjY>e< zoS|pe0&Q|KRWCF$I3ue8b8)(vQPY>`g`}Ezi9KaDj@QykqQBk1hZ*D9bSjH{O8FjKiEVI|cS~e{Bu1)49WZ3)6>2vy5yf392G*Lg z6i~S|cBHbXlb;A_%_8+KK#a!lh&WYUtUCkSpe?nZ(!$R`@IfMsL>VN$KNJiqjOC4Drl zu{GDBsbr8wU+xZl^&~(pvdkYS(ey%L2Cdwi+9GSCZEl65kk;T7^p8da4C zj)WOF0?>w2$R71gT4Q^@kwS#utFzg*&vCBIzON6y)kA72~}4 zvt4q7zpi|Yda}uQl^%dgxpCs{6Yrh)D8|baK5p!-(NL^ui@`?#K@~fZM^?jXB{E@R zAL3ZVw;J&ZwQz?( z8LM23>yE)LON?slp;#$urI5av*gI+luM%35W{Jnk-h_FS%sF7`=zZE(&?;FHM8(Dd z6w#)`&f>mRj6fa)m-`R%a<_J#5@-` zU3u6%T+?0u7D$XCn@R^tJyZ0gQeQ65L&8wdTsK?Bc(TMF8D*0}l9WxZB{P>dj5;;7 z4aWtJ!QFiX)=Ro7OisN1F z?E4pQT)lo(KEJQo+_(G6Jl4VFJf+-&T(`(bX~M)m!90xDSM$O;2*qy{n(>B_?X z_VGLJIIdj!SIzd$=i8f|;fWLH0nDotK6>e|fr&}Pm1tRhS+C^^Ky1g5n9*uvu?h=V zEj~Z1@`&oxEvny?d%a=*EnhzKvX`7Xe}3c4^sy_BPW#RLd~N1ebG0nr^}{c#51zT~ zezUi|J!xLMIel!J|Ix~9s#Lg^bKB^g|4KeoOR&<^bZ;-lCkF#3QyzyWpV9bg)PE<$ zF_LA#j9p9f1{}w-s)fqCDpxj@J05@hj>(&AQW8zM?d4&0)NSnxm0KZ&!p62?xS(6yX{aWuM@91lp*Fn>zjsHx@z#bnWh+5qKK>i^Cq6JbL7h za=A|#wvqc(F8ABGTI_Rn!}hC@@4u{`OZuUF%GIK2mx68819+SgjlU>VluEH#E)S=( z*=d;K6Nz(Fk}>~0NSse3&XW@O=T1(){%oz&xxKA7s><0`>+(#t39&)XZ%#H>S99%7 zhi554VHp#`MRA6=an=h$Egn}gw&pEysx!30NW%39pDmb5#z~-5D~KN#ukpCt1sg(E zj0acwU~efwNrALgIzvEizFWjz?wWe zFD3CLD?x&{r_ESLv`@&*byxGH2rgy>V1wx3hKLvS%$NNz4k z0CH)|Eo2dF-%)e^Bj<}zR6PH%^X`y}2&(cPoQD$QL-i$Q9ykMGPqd4yH3RZOQ$3}`E9hSTzx2+pZYRfocK)P;dQ>Q1x!*9l z3zVr-)ef#U2B)gscZ+G3=TImX`>ISe@E0C-#4`6ouc7;qLJCGdPOu&)X$M)!dk}I= zWf6zg0n>PK-5%Kde?8V1F66fkarHe`I|mN%+qS*)#W$Fa`e-b_|4n@jyy$7ThFas9 z{9Kj`vb?M~RX-Xbx??gx^|W6u`~Uu5CGGN6P-rm*eg8etGB1 zUp{f-%MYG7@t}6@P5_n0Gd6fCMq;%^UohJJz-niOuy8cUD%la#0He0zk5<|4D?*k9 zgd}Sz@4xBXmA6iwf5la|>>N1yr&p|;-1*GPsY{PFl;N3EUw`Y-qkDh)`fcSeYahLP zduLhs@XlcMUw1y=S3bQHt>1pnS67w4-#M&&5@z_#-#V*=t8q^J4EKE*?^5JJUOsWN z*k)ju1)YKE{AiUTO>5oZ>!!Uj%So%ej82IO+j7b ztzj};QaI*ODaK-uQfTl9L8#j>3-k=Y0iDa2h{f$nyhe<%xT{hJnL%AeP$Cy0FBI39 zILBf~7EwYGAXqcVL>`iKa8r~#+Z`uAmrB+B!N9L)YqjD+ySgyf zX${$bs;aD1r*^)YYc`Heq~Xwg3U2wQKoq`n;(bb6c`+-`x0D^c_(ip^E~!_jFH+x% zP07+8Sy)>!I|Aadw~9w;Ww^9JHgp`J16PRKXCPePe9bM9(O?ZDPqSig53*FlB(3NK zSObhV2`yrZw&mL%FU)?BZ+JcBKwxmgwgpDTO_&k0b!BL2!P(PLxJnY|J?{R?w7U~T-TugOh zx%8pQQYjZ5k3d8j!xFQatL3OwPQfT04$urDiP1{*SVn3XSTtot^BR{KD@0VK28JNv zTDF@!9UxO}-bYaX(Ky2+_7bwdm}1T=e+!=?Mcf_hwKrV9e;+aCNl0~6Jp87c5mX9% zw@p1N#dr>5Z+)yvj#?u zTnRx(z=avkqyz%u0xedn8S<4~xP)NPAsCP6Hse;ATUV=7!Ic?$kA z>}F6qwi>~?E8>!1A~8h|QdiuFW(s;fZU-EcM24hj874JlAnUncvcWq@B9XEwVx%Cl zR1+@Zj0YbDK?uS?c`jA25r@N_luEf+)=)1~l5R~))XE(%TC`HwGJ8^FjrbTgMlM&a z^m|b{a?@(o&E;$UEH-^Ie2tSzBvW2lDP*!aZwkB))g3$>eWGW$&O$cV7zU7RsL9y^ z1fSGJB)fln!G6O@aXAEwCH&>4ols32n=R39q6ULt(1(*Rn3vV23HbQCOH5{nd#$CAtuJkIYQ$Sx@k_T>wTT94PuUm6`j-< z8)-m_1hl2z80o6$V%;oAMI?#HvO{O!81L%-bBu(i-5^Mq!3663+%|gY- zkXR;B$kdkbPeGkc-xFBCStQj-IXlcZpclX!MpR*g&C_A{y9r{-j&*=Vo%;1G1{6%m z0x2_j&UpUlP8o8d`{$68=aG{yop>XfAFF<|B}*VsDI%aTCWo~c%^O(*=n~K z^5_|cvh(W<2i>~I299S4ticTJCi|9p6AP13TO^U`uLV^=Z+U0}v(kiazRYX5h7`fe( z6ZYe$Eu(>~saUXr&uVetQl6*I54JWE5l=YeRbyk0D?>aF`EpqhK7CDJoxYO0VWLdI#7;$UjEaWy?C^=j^{lFS{P=aKlar1PRMGjhbts5QSN$9l;`$A=DOninGbV9LlpE26&gav|fCq+$ImR&;5+s<9g^+x&5}NICLac z>7diYR_5TD$9Ogrr4Y2DC@y`_j?`0F8IdJkQ)xvmjy{4FQD{a@fbOd%T`J%`^tl$N z8TL%sZDkcbjjrvR)?a=FQRCckr>cdUdl*ET`$wj8%Pn3IO4gvC70{|6^Rz!PXI3lO8;^JvdlI%>3 z5|cJq(gkjV=o1&c3Rx+i5Hy^d=mHzHkgMW^g5*%|kiSj28uq74uw&)EKx?sn%Mz^^ zE#AhOoo40Ih7MsTJD7o+Rvh|Eq8`wa%B|8=kH4&k2v;Rn!7=0!2aLbr1sZnFs!>o4 z9N3fgq+IO(DgU@}!WtN#T;|7>Yi_?1K@OV9)m-&1Dn0^I25unK>P`~1NY}2wwZxSF zilF|UdIg>I%2y#H*EW}*k>X=KJ4HEsgx)-``AwrOkGfww^KM1kcf>T0?>|nRUV1cE zdKKm6yhGn6IEGNl^Wcsy@nj4*FlA(^Az7S=9MK(kAT^Y9*{U$6aAi=}|Rkon{~1l>{L6_i(i)g^Ew_%JU_3*25zu%=w&&AuK7>a@7I{L&J?f0NR|A zHw%OZ)k)fx{ZPCEnq55hafz`PvXIfs6)|{aU~`Pb%otaL7c*ZadWJ`lvea@0 z`5Mj8wCkpKx3o+opLxSvG-(AcGq$bKjFG|6kn55IcAhrwz-X`qV#fSa>#ABO#~{&D ziLnE31g2G#8Bt0Xke_--GkV}4%(D43HHvR%3R^r(8UhuVz=JayV zJPNI0&jO9cWdc7k+pNvl%yK&959dLo0b1^n)kjlU^oygQ*S30XF@skZkwpkS6uVf3 z(5F>AX+WC#2(us`XHRblO$HF^mbFG5K72WRU^iGnp@LvXq0FETp}5<`T`Si=?6u6W zA4Ku@7XF9<7fc^g;75fZ!VE^-*bJf{r^QMXEW)m+(rODiHy|M$1!DJDZg~~JcFZ4s+UImSPho9hLNBbV)kg`Mw$B6YIF&BZ=uK*}s& z^szh$=yr`ewd5ppsqB?_?f zR|!lB17bxlNv<3*kUd^>5kp?Gp()iybBG_=Q>G7KMq9ak!-J0Nn77jPJ_XIRX(o%A zuxeV>fb7P0I(^)lwr1xL(B||pTd|r&0L@||(}bIDv$l|g6N@G`YQ}%-TcJ9uT78N; zz}9(BI!i$dxS@Ue445=Gi>ZnelYbzNzsM7yKN5J*F>Sa9Zk5)t{>TS3lpKgrL+oo- z3yOAN`@u;qoy@Yr3;WA4@tw=Lq5gVcbTV zkQ3t>^#qF}*G&=*R}kL@(AAV^+wxe1r;?~RXW|1F$6CSl@;s2N@?aPXqRR8k*@GQ$ zcElE3hL!G|RFOtl$Q3$`bk%Xa47DBUbu2^n-C#R+Aqy!k-M~3v2kBtL%>_Zu4XV}P zWQBhY=xTqz)$3VTkaY!{sf-#-Ps}$C?HhUvGlQ%rHec#oVa=laIF~qj-=4lx$xx04 z|B9Ujt|?cK$-?3EIxWSy>to-mGf@Py6nkKYG2wv_B?)%rxzPb1MHJ7rxL;RUV9-ay zk$7n3muP{w)reKJ@-8B13nNw;HSt(mb~#Me*BAJ zP?;ba2W3?x2s~b7bz>co&&zS<4N58RLHS|iusXzC*<2?2xQBs>wuv?hDpeh@)+iHS z|N7TQp}(e^MKc}1`m81!DSN8OtZr3``)bF(a?tAR|JR+i>8)pdS=fl zujYfzX=UPj{A9lU?QbjZr$yNJXwXXM6D3@9TEgs=9IY4R?b^i;(H_mwUPOCPI`6iJ zuZ@C1U8g(*Y^A(fno}ldFYbd0M|~~)zB*ByW%}So`XIz($TBWYMbqk&D+1j;N<5$1 z5_dp<9|Am*>=inLANEIkmvTFT7T}m@6v=99^+)lmY>)y#f^EcU_e**(>3ty}5@A}2 z0(34{-KxCgH(%m94-iYm&1I{XUHRB)!@KmNM9%o9RE-+~F{rp#FLx-*p4acy19kDM z=k?&g=5amS4D`EoUthzUS8?Xutpy{SXX=<6dL7Hb;#ww>oD&p2^SZuQF$AeZVuGPR2TT74+d~0c0Yq*5V|`fP=V@2Q!eMW@rVA40g5y z7KBr!&Vxjzk)7K@Y)kSm!kry(y8|>EF(FV$2xT!U#1lV^2t?2r#xlGIoRznPRG1f> z6o#}_W(C12CJ3gSSd3nJCGp)wSDxZ5RZcuMk9=TqUJqBNm@a?k1!CK z%M5W4c$lCy&cMxs4Pn>5=qhP7cCv@tASA(9iqUTZx$6UUi^&aFaYNt)7!6QKde(@s zF0l)$tfRK!R*;|q^MVH>-|@O-f>fQVHfCS3fW4N-gI)ruiR8}t}YpU89X|8?C&!VQ({ z^^0b1xk?n^YhEzFhBQ)sLBeUOV-H^PL7c-PJ(z2mBsIlCQZka2@YqF%9-37u_Y4)g zc;MJerU5umTfs0hB>Z^Aqzft!)k6|R5mVw%HAS&zN@TI2QGGPH-?4-6LMoAnHW-E! zF>{a|lC^=v!Yza~;mQ7d=?1KMM#I0Nx@A<2c--Lq0)(oz0uzMnfKGQ_@E-=^oe@v?QyG)Lwl41YF%{-5`IaTFZLLo9H!^Gw_7j z5*ZPC8Gj6oR!c6St(P0P) ztm33*o}#||5!Zl?(|(c?^JNmffA-$f_*Dc!ZY466gp$k`scsNVIaWHVBvQA z?(|frxZJDle2ql9l$p0I?QOPEu9`<4_K*+MV@w*gLRNm2%UjT**| zkQSqMs5KSPqNd?F=V{U3@)Sf9rVC>e5#%IFA(|4J7q=q{jVQYDxxiJT@X5g85kd~7 z=yS1dC%NR5jDq2tN-1!OQ7wXCmguHgimOtlm6h6&CkX=-frnFyHUd@53DQ-Nobr63 z*Z48mh+P%JbModD@veyB%PSXyz8~wP*QC3Q7jfO_$(lvL1s6I1`-E~mK4dgQnMMo} z_D4aKF35;RNmPrQ1o>gB)ARxM0ns+XZaCO6dgzoil95q_xnV8rFDu>6eF5XNx{1=x z+)K_dhBK*-Gi_A4=R&HUSWo84q>o#EfevOe)|y58#+el94+o8P8K?p&G4&CZH)l+} zOzH7cPR0+MK9xil+P88Alf5h{?GM$LH`mJ)TAMtzcaoG%#rqJ!iFBf%Fx_$CtEp6h zPz;wZzI^aC>J)mHB{?r$SLv7G$u%f&#ZdZBU;KRITVEVCb`JmKx0-)+e_y#}=L3rJ z?w$ADbeE#;yhyp>4+Yawnoz&@DRrOnxwy*N^2EuB+b7P$CH~07Pfa{YUdA6z{Kdq7 zpZG4%H>q5PZT)KHFO`2~prq7A6)s;E;lT(KFY2@Y?!L3eHZX>uP;BAC+$~OqyON}C zSoYCS*(!#jRCVD!y6gCFUoaX_U{YLbya#ShzM&Rcyc6lx{=PGdmz;Btb}w)+KGljG7he)otcV=$eH%{? z(h7;uMvkI2h|54kFTep2S47T5+e4a+#TAlwo+1y5)k6-6TcImuK=rr=jA$xi#G`Js zh-o9s*$WYbV?kgRC=6Sws2IJ$;^`NW zi2+Yr@}BdJpP0o$+LXsP602B?|EAtcWi4@U7_YvRaxS(1iMc_4aVa_ z`sUwMtZCw0f)YOv%F`x0D=Y&C8MlYp_O8}(ck$EA_ZO*Uj9CvDbPS<^3C!!O1% z#k$$)WHVBuCYvu7$sQ*+Qq$7ePRDdulP&8!0C8c6RP$<5Zj<%LQY+8A<2le{glchC z$C26$p|suIzGYD}Q@VEd?@*@{{G{iRgJO0N24W}YL=tR>S6q_<$$7s(-DFIzb@Ib- ze-ay8$6SJQe_fldE^FFQq`s=J%KE)m&Z@AWtL1HJchXzwB$FMtSjJlmm>Jq6q=aj^ z)uxvq_|JyOc58#(OL|Rqad9DY-Av`^Vcpr@i?~pnGIX}Nl7}0^JGrH~VJBZ(PP5CA zBf7H%W>K?ckAAIk*}DEPrm&xt@|dpPq6{V+?aJ2Ponim-gz@a>_Z9lO8Tn;`+&+O} z2e;0ljEYF?VKeE|brb0ub1Gsfw7amD#PzBdQkJD_|8h zb2lj~p0`5!vg-qpO_{G0oZ+>v$9mK#Tur!wxpe2%tMa8{pU68;`J zI}|U+y0`HANs)2ZI$+?wK&3$*8(YeImTOhr`E^hwuhi4Gni>7u*yz9J7*0Q^CmpBw zmEljX+n)Vzw(>QwkTu@sj!z#Q9N9R=c@&XtF?JLrY1adY%c6=85z~#*<0FYuN$DHb zFx+M{|6bA)B}<;hQznzY{OFV%|vzJy^sOm0m$BQp+_GVQ0W$ zxszpP%Lu9ido4%IH+#p;hMuATgzDXWM}mbE+@5aS09nidoNS542A~D|wann;siWX{ zq6Z~AYO73)Dz#yy3`>gtNbGm)&yhN$>A03?o2=9U9PsNC2X;LsSHXBWfuXmGB_znF zc3|~aL22_oK)Mi1hOE4gXQxYgDhUn!ZqUbY8TB=`0`-C(2_j$WMpA(i>jspQe835_ zO2S8<$b3Y*N~?a!{ot-gd*-OW={~$?&%@VV(%8S};Y8x$o!>syxQ+;1rEzWg+WKvC zjT3KaUh<`rbv`v3mn_uh-q}2V*PhX=>%P2ks(Ecjxv_rYT)lqoej4HMUrEf-YT^XR zGo!hLJ6AYazb<{<{K*Ed^_|Z&E;&Mrw_Vz}Hgnx|yt}J$ZlN*vuF>dW*L`@paVe*! zs~BJ3{oa2d=>EGCZLs>-`{Z1SsFDK30ah|nlj>%c32!dCnFn*AY+}CPLWw0Vl=&mz z{UIusm!0fvY+toF8Zb|n0bisd!l-`JD`d&FyUSx0Gg7&DpQWXX&uI7fJ;!Y2JhG1#hXJ0e_Xqmjln}{zCmh#D#b*X5m(>*~{D4U$QEfzdmrt;~ z0p*J~F=fR#RVfH+4Tej+$Y>G7Z2VV_wFW3;C?TVN2-m}%KfO{v{i_GV_H9!GQof*- zJG?cywR1wh?u*oy4_+2zEN_mqDP8}%V<+EiCPMB)l=3 zvff#%<;+}dWGJM`u5JL0Hp@laO4zU?)2!9_6{e+=tE;tI&9mfLDia0r`~DWLUh4k> zM8v^Bcmh8Mxpt^LOH|y0;fFZGfGEmRjf!~|NQ6a`8h-yDp`0tP+IK`%8VYGHs&WT{ zRZ$KdQtEG2&RnTnbHf80%BxUo6hI`TGXDg1fKL`8jUAdb8_SmE>?b zd_?gIYH0VzURGHNkhIaqegT0r%fckg*147YZY z3wrPMO)^ph8SS}gY0vWVo;Q~#=jVE*(&YSn?-$6tNcycPm&`OX-FCu0@rkKY zA;@3|7Soq3WeSBEUpdsM*9W!PN~`|Mlk*o{G~24JELW?8f%Jb!uFuz%-=qIsR{a8~ z_0GgJ)#`_gxc%hAUrH{;n8+6Pn^IjV*fV77GD@R zkb!`+f#XW3Y=n0EBhHpb6Xn_v2&-Jt>p%HA<#jiFC?ad)%^J8o4aiLEZ}8&^t{K$= z28Fg|t(tnvFqaIiqv`XSMuc=;RaeXc0cfPPgoth;viXJgYgT#%5h~a3FNgd zBpL=+EFW23ZnycxAY5*LxD8SK+TrEp!^=wWy$QDS_2K1cGLl^i>>}T>9$t`-A{*<( zcNZr1F+SsrrsqaFpfVLx1jp(R|BKRrO@$}2FQmt!7L0byJLQd0vl;DtR9^qOR=YU< zf4o*x4&be@68hqk%kbgwe(ehzZ2iE6eU(#D^YrID?{jJU&(i5XONa6Mxi_TKZ%F@7 zj)3SBGEiwic`V*2eJA;tV|ky(zCQUw?qj7#$PViZp|#8q7kBT7a%p%e+n8Cb`m!Wh z*lIwOMlA7s8;Oe-PtCitg+g}c9rF5Uxs1;4CZFh~bHs1}4OpdGE9o3eH1erZu6e>~ zL;$(d_8i0mV1uZ}MFh{vDId7dg7V^Q;ht$t7PjGv;yh+mBTLGw)>ULu?h@aw0(tfIzJd+j)+wHysN}Pm#n8{>h>0lmeb^}tWzNs$f(43cuN&IzoIo6w7w4{2iuEEZc2>D^ zZgClVWil#tyCtt8xCZZgJM`mEk*9cW;=YN8CZ3-7GWfs-(U2i(&Be-9$_te9^oMX+ zNSDX}5hYs`pZH~nD+KjhRG}UohWKZQlbc^&@!!LmM~6glJWe3(gc(RK7f~m>kfRXd zxETM)DF{=UFQDjG>&3lbj>ji5oqdt z=|J;Qm%3iLSm`L8O0kma!eHiWL0b26UK)H`8mLkNQZ=05rVm_)if9l ziU&8R(ps8O0Ss`&5p+y+)(-H&)cVbmcuyVxF$CN!t)s7Z81keMmQ?1y+a+jJ1jjRJVXfojlUI^G8V0;t8Gu%D+ZXv{~*GXoG z{k|+527z)La(VE$oPk0>910ptjatMOy8RoYg_%@gVOpstiZ!d5Z&TP3qYr(6|Kk2d z4MzIn9}$-XhzA9zySS$X%fK58AOnB~&LaG*=aeYn=7=Vws7`^On}#y!N-N*AYDK_! zX$fJlGtU{9w8&Wy2Z&=}4*1Cdk!u2lwDCRbAn;ACX!bhZWcNuu-)(q`JJmU7PiL}e z%jo-2>Mc=fX1-nQIcAsic~!_w&f= ziSO+Ye}666gR86)0k9g$f))3nD7xYkl*DtwfRgkivU}ta_7Y#BERo8Urvv=*nQ(v7 z4iZk?jv#KE9v*w8F`C(U>0Ujkwfwt3c;d|A*`HSyjO(caLXGEqx^-N)OVv`g78;fM z)I~+G(MGc9PhGRVK3U>AsP*k22fu^gLBsQqpn^e`oWl|o#U|jNZg(Rhc^al|9mC6y z+6xNo8Uz6rl*&o-I^}iNqd)VCzql^-w$01DYrpZPtFJYco&T!7=8a0{@w1>G(yZ>ru=ex=y_urlCEqd?F?)>#1oS{zw*3^&Sr|{)`U1ILs{8+1vm6zqv zpaXVE2$T<>UboGgO?&*ca~%5N>!6UwMu#5an6ZUwIHOcrvtXo+N`Od(Ui^*8Tyd%58-NKE&fv|mV&z>FD4 z*aRjTJ6%%3R3{I0j9Kc0gK`o=iqi4U!NDNAeQaaClY<4)12O?JHSJnS3#Y0Dwb(UE zDokvEqqX2qDM0X?25l$_88~5`LPIY>=U%BL8VjN39O?x*GwII}r;M5AWJ(f%iF`^U zDz3K}dDG(zPckUxkgisx!Bmx2vxtj?+Ai1LGS<(OU za;#`Xans$@OrhT|%%n1ZfU!`FtW>wF&+DgWqJ?GEFWK{YH{aEk7owR9B^#v*V@IV=iPMt%h#E9KGlSXsl*E5*CAanm9zcpFTbXn z4wh!8Tm88xu)pj!I;DkTvx$2JcbEe+;iccNd_$%IK*rn1PF9b3A zH~DClvUqB@aE zjMgZnSC`Yv*C_7*Do8GnsryysvNs(4BElw)`AcLY{)Z8$ z+PPJdUs6?nHuJxf!VTHB;BWC}IX}1a)caJ5@j#wRl1o^D`DJWtjK}?D6W2_DkRgmD z`k??9;^Dg>)vse1gUL-u0BSzwt!0H7M4}2xdbHfEX0@0P=$J58u`=No9*#}EWuKdu zCWmNuv9`p7XklUPo`|Il?lc@a{0WILNlZz8wp8WKnQAA}z{KRZRRQL4qr`xd2vp#k zlC-#>l2=1wjh={Lwi6N{6fjLT4?H)qu-%t^LW7sUXvaLE-=OsBoibx0@k*y zOvPPos!jniBC-q|C6c5o$hkG6)OYhPH=Os9ZGF*P1pUP&{_igL5UwLMTsEQNWx;II21(DCNz9Azl&^iSgGLDmM&wRp$i#& ztoh{Owiu7{>_Wby%SDrClEQZ^Fe2mxhNG}v$&*~J>EGzu$u{*B9P6W$w5VMH8*YZQ zQyaEe042&@j<-Oovk8Z~Ev-PU)b`)z*tzwk(M1=HmezCbUAay@?GXSOuktfwkcw%-%a({mJ~7-_o<|{{XiE;_on$PBq#d`hdpL-WBgsV!3p0qvzsP23 zjBOmWyhWOk+7A7B)shiCWJf_*j|~YjwR@5BdqItwBCn`-`vsIoLO_ib-O5lv71hA$ zh5A)R-RtgA!wjg3f}8QfN^@muhOwC_HQ{hN*X*LLFQ~tr385WMr2n9#YIXRZ-n`T) zs|R18=JV@&tN^S2O4$6svi2iIn(KV{A;O7A+Wl}Oz9|DX?kTL(0RC3TTf@|z4hf;vH~5o zhvTcTRsvNJmba*6*08+JQg%9-x=V#?x>}vNvqVHOmrwq@lF9jg&i>uT>QujxZ< z3+A;MCA+2#(WXeo?zp~VTy`0(KVmFfEIi?U9Km5+QDG}UJsEDD-Ku-fJ?D4NJqw+n z!mo>`lKFh{UGLg?;7~q!Xn6XpIDO}#s}AdLJk-7*9>^zm{y3RGBo3ZEo6PS#h2rE# z#T{qLXC4r5&@Z%UGZ*~tL1OxV6n^&O^gzP1K^MeriNMWB^Y&xIP0tzr^EiSNX?}77fPXI?3={_Lv5f#Ej%wU&J3Wjic=jo9}oQ^PF z@`oeCDL;$m2t|y&qFOl5im^MDjvbnhM=(}LUQphC zP|>?ne~G+AM8&=IrAB*x2YE8bT2jyT2rY`hpc$~`P;z2P3G*cy)|mkIchqr5A+IJN z$~r{(#PFvKluHg;010G|`iRAYAVRxFBWG9ADzgH)f{-SBg8|EgHm`v6Ebb-5D%2Qz z=S%OY-yB~YOJs_pbE8r4Yc5Kmm`RK+zEcCIp-+y#C=r-qT|N{#we#;+MzL%RO$8D! zie-|-tM@uV<$;fZ;^a*?O=8&<^kG8cCO$zp7)uhmK9D_}4J2QD*gu-fjk*hA@naa; zT@fT}W-*;E7Sj<`X+)LM#j$iIc*XtU#OUZ~Jnl)o_^um6(P;F()uJbs7|r`r@rmS| zKb|Edpb*pfNFd%Mu3 zxH`jX81e~L$I3@hdhv%@T2?-^IQFQ-156iDd@3KK8FGmdBIziWtz_C+#Ax>zUcqXZ zs*_ai9mg97(<4lkl$$CT7tLH>8_>7?S;89@B7m_jEhvvCs!{b}xRpD_SX*9HH8N@4 ztMmBcM23h=_&^=%r#ZzTSD_Z=CaY0_lBpBauz*3o@+jw*d*_@=2j)gI%2QS)_{hS}mnXTg^57*Y#O`C`Zp`lf$0o@kxyo{r-zkWpH>x-nDBJ$g z7bByL__lF2II}z!oSZ8knD9@Y91DyfAd6Q_5L75wxqHp=TLJLKCSuGv`pki?upJtd(kQdUg zvS6u0D9945zywtJg22>K*{O(F(5w9LB;iw~3jD985&_&!$&W0TeW^6C!IvV+!oir< zuL#W&=NwT^IElD2yySv-7}2kZWp6U$k;VQKXbGNRYDg4*M=hWc?I(y!fI9))W_7o4 z&FxVvSz@{IsE8BpCBJy$WTJTHXlXP(iBigs4~Q=woV@BB;egOrda&;WXhrc-0Vks# z6B@aDImlB4R0vV5I5=Yh#)a3+%^0%~q(2%}E=-){#wvw~Hb;}r&6KS$(;ol6dz}=1 z?nYc=41(EUfx%^rZnT%!M<^^Y#k0J@>nGb$7y%aqH< zmAf2626p+!ow-w|=3dKuH2z3B?d&|B$mJ3rBOvJcWYK*!5j8^o%~x)7#-Aco6%x{o%xX;>h@iveO7%^?ZKx75_@SNX_-Yvs#L2us>?*gCHes zVII3QrI_|Au&iPfG5cbGfnOQrxVpj}e#W4c> z5rTsdNj{z)Wq^bs@W{bDRg$oPMM*MVpal%a@hZnrwlI_(VT~M%^iaYxzIgmN2p4le z6iY~4fiKOjg~MlC zST>U0Dl>6q@@P1C9`lMw@_mJT{;qtX@J_-3N%vGfKZzGRi^>N|$Nu?jreCgT)dNWfOs{2**E)24_5iKNO#HAYFd~ z?L;2y%5e68Aj+b`-=ohwBmPP}h)$`9oxsb$gKB1`Ohge#N;}EFYO7f+ywvN071RN3 z0`bNC^rV}&6)YUV?Kxe2v7j>ZEU$>i4qov4FXDpDkVo0*1I(bCPhIr; zFWl}AGN3Z$gCo+jNj!m_n}J_3?G|w(3@R#G@tIixvtnI^;56BMh?TT)pZ9u4Sswbj z3flv}3Z3_P$6GSu_o|4(%9AqrCKzHY`lT<%(5bt3{^8&ZPGmlu>W5222Y&|q{_D^O z2-sQ0bYME(L^%cKeF|>nh-XEC3KU?Lf~$_2{`7qUk?cTX z){@n7^0%|8RQ8KIXWt!2Cqk$yAkP9&HdBlQ()lqlLG-1_t49jQ$5RB{%`A>Bynbw< z_$QfzpV~Pqo_fX=Vic+{H_>DwpF#_zmcF8_OXLEHbLspWkA%`Uy^$ZKiwzSC_gnC` zWma-;f{t`o3oW^88fzOyoI@f?56%wUh-o^D5dC!trOW{AsFz`Es&IcW#4Lc{c`5v< z&!Ak7y0fSV7>_J7a!0Or6uTe;6}Sub)?esk#xK5-Prd3M`{9S}dtQ~!r&=$&)Lp#z zqS>ipdFXgKcKu7@#lyL!`Q%6{c*}YXUDDKO>d?@5;?evlq9;SLIT<~aI+RKsOmz^u z-qF1Jm=gz6g$V@g*_oG<&?B79g~FS+-Sx0-KYZ71=Wpy@y0)?`7pG=(<+1tWVyrMU zK2$CqIUY=nBp2N`e8oRCJ>eTpj1Qf=+cP}Px>$N>H1?Je|Ky~91jD|mVXVofM&35; z9Ys6oJ2y2GA=XhSlF33F8hq>obgH4roMx@(O0fQ(hMV?KWTE&IMP+T{p4MjRcMP#t zpaDprKU^8V+APLphcKH1_N#RU#^}o9-}vx{zwzOx?;K5xCa`=`FvdGQ|GFCm%LApt zv_CYJ?PS)M?#|{$_}b@jt> zPtNRo?TP8>S4>X6;+Jp#(yjj4q0D4joZc=DpQsYND3n5-t=`Rb5AQaPUFk4<`bsp~ z7ns8+`zyz03$v|hoV5t#CYjYOsqk}9jf$o(m5x9a!VzgO{K#Z8@vfx3tMj z;>f|da%A39D35p#i%CzUluwJ)$Vf1_a72C3+;% zx=dyXi6%;$n@`<%=atz|-L56CzP|kSA)j-V79nun$Lr3m$ zWcSY$RldJ?=!1)=v&W}y5uU^2p`k+jeZT0aNdM%^U;dl0`u?BJ94yS2zU<&3hsXT{ z+=P)RoGfe1^I+a;Ov0j-C{&yUMhys3bhH8$@k;?J0WrbQbHpZ8M1&Sn>DmD4Y84+G ztR~~k0g(ery{4pwTC2ytPC*euY(IsK`%oxSjA_2#!sxb0NH`zC*VMGnua>Q|A%b!Y zzEUZJ$15xGZr%PhT9I0hG$X%gKcMLqlDKwMUdN zxmS*UAZ))oUm#S9$4yT3Bu;{?ZsTaCW*F`-XYnf5YC# zg@2GMFkYd;B2o`?I+G06JBjKW= z^uX$$K$-Z5lk;F=lE!c{EkcWZDm)=b>gQYw4d#{$~t7><@gmQap)P=Ovk5iN|3jl{9qqs?efE>+qEJmhJ)947p% zQ{)QX11JL2ckamTpyJ4gxOV=EYXag9>n(mY%=-95%BZ%cwvZS(&W!|azCIO=rhfZ```0f1i+9)xMu4i=a8*hH|9}dl*d+ae^ zI6(%W+un2SUD-%3n7iw)yAppeHh*?`q-l$%cK+L%VHi7?M4+JFmnj>1tY71O$6RL} z#DMybk%Lh%R03hB;RF2ctAb%b$FUnA?7W;n^CL83o;YcZfeWYuXT@9991~?4am$J8 zh?D5t-LHAg-B+%ivZe3*5EJa7^FDbplVd}uYLXE%f+47E$)0eax4=%G8st@Wk{GkF+D!)AH9-jLf2(qabi`(c0Rp$U1BEW zO{c=it~ch`lB03XX-Dt_S;3ql2KaX8W+%NXnBRS~ zSX}!2=&858?bPV!zt;Td9q)ek9Um3*2M^xy&7((u?by*bz3J$&X5;NUe=zgtKolWtqXGad6uCJ398P z*t&wyoiS0!5-&Xz&SZxV#KmXB*>GlLIGZl~_0HLsq9wUWg~EuCZD=HyCD11sd!EI> zL8AQ}1Vvt_d?ScRqhO)x{go`7lr~oL3T17mWR=o&`UYYX@u|cn+R02>8A|M5E>M$u zb=82~DkCw4@6U*@NAuCK!((IbAdyNk5dT1&DE!YB-+yjl;oQOpSyIDS)Z0prjHGuy zq&}7ULoOUj-<>|Ba%%0C7rxEyvSZwE?)kTJ?)oHmTR2xEDKOb72?6uy-u>=LkL>)p zx*ajZg~ZBxuMALC_6!imElvvh@R6fv%d>c_r^$#B zBsgol5G_ti5zAzvuS7|g(ZroQZyOVz7!^g&&P$Gqf{Ftfot#{7LY0mAheugHN*875 z8Zmw-Y?=SGb z^LO{}{4EE*c>VPsJI{x4{ouzb@ZnVJ$}=zf8~V=$!gj5AGvh^6&PZlwey(gZkD>3F zourQ(MRG1%5Wl;^HYH8>%q)%n&<~$lKJJWZCx^q;NH7)Y-5`s@Wu8HW*Xr9mEji;@ zr4Y{MGzS4dF=})wjql3j6zaIX;|8E-pEgTq&##tUCDjQMZ47|)4J2~~tvA_-c;b3$wa9%4fo z;@0M|dkjWW;Y?y88xE&pWa|vZZ%aho@uArv6a|4~Fc6(ZI~gn7JT!W|FfIOXD708C zOb(GOBsVk}50Aw$MqrUCPd46DBl(+?*+@7k(m9rJ{eeUzzea@OC`OsS_Y#UI=8oU+ z**jB_XfSZ~=o4qR?^gX6L{IS)0`k`hp|~v0i3{R~#JXsU_lutqpW4-205mfyugP<^ zsx26RHBBUMQifSjE8{HBp3IAIYjpY6)TqCIfVR!B+8}rT*7@ z+ZDC1ENybjD=Oud3RO-?74YD2m=#NR`?hNF)X^jD+ve0+Z)r9)d~x@@^Iu z!1#H92x?R|=*Edg0a6E_WQer^K9mVCEujdob0w+;!O*-S!}-cRHRqf!S)kH5Kd($# zv6yAC5vv5ROku-KI1Rj-`;}qr`<&X;Dh0KnOZ`E$d9Z8wUbPi8oT{I#>cLXLf3u&Y zcAA!35M{Ufy?%cQHG%Zc%pI6UEh~om{;q_$*1m@Q4ts&f&CzuOrsx(vGhty(acWXVbtCgm~h3lf!_!Qhx6Mp zRLz7WXX%=TIgkhjw%tQ0+O6r2ptQvF+LQNArdTQ+9rF9rag^!bMJKDgjz8jD z=8s^^L%0d-Y57&CV_J=>0ThGIGm7>0-C33rOwsy~>KJDapU+)<KMvfDK!B7-veZqXW)y{;MY zl|k9(D#(>VIp{hpA0L!MuADnCD92qH_l<*c!lk*bK{@Ffb$@zL&bTrjF(_wUnr9Z7 zPka@g6oEJ>3s$FY8I&b@_n#k>-Dvin9+W+~-Bh?ymlQe6Hh!^zN5~t~=$e zgL23aGsTWKwe9Hz;Q~=Z^;EtSjotp|v%M58flnX5F>MsV&(~PyndVWw zA9Fr`aQ)?_`Nd=N1nvIMSNDS}aPb(&c$j(CV-~P2QvLA#>)NF0Iy7S4>7$dJz5i9_ zxY@DA`GtiOr324t)lH*g)y>w)QvYo@Z?}r)cJb14daC^VwpaHY^!QT0o639LaXVCG z@H~oQDp)M5j&AalmP1KxO6|QaFY)|U=M74HZ#ZYD6@(hs*c>+@jSbGRm0$7g>qcqI zsLWcWrfJ!ww%Jy6QL0zXR>?B#64X+%O|!94w>evpvQ1SM!|n*bt4=jGl(wIg=bh?t zxmvgFwsrEzkyYMI@6+;p)#Qua_9?MEv;WE$()0K3-v0`^{oXY_J5v7Zo*8bY*4z1c z=Fe1&iWmNfr#XgIG!r)E!vn@Z8e&$1L<|vGD8f2p3{;ySG8CFtwB0D}#1NJ?1u-l} z#3&wdMPfjd#JHFsx6hQA#{ZuLbArVfwBux-!+PZi7B`FJ=Q<{iizN{93f2QB#7S|A zc%G+ONV8? z$=PLbA9nipi&qmn=>hSecnwO+hsA5f>%=2ODt?1_qxcc=Ch=zR7L-+Q6K@xfig$>2 zig#fy_io}Czn4ge?-w5sKPG-$d{BHy{Dk;P@l)c%;-|%9p#Gl~9}z!CtmDVUN6CBn z3*zJA6XKKNQ`jQ@lK5ruY4L=3QhbIP`>$YW{HrSa0CR`m5KoKGiO-8Kh~E^yC4O7{ zj`*VZUGXLHd*XkHFN@z7|5N;d_(SnW;*W7A`4jP{;w$3M#8<`F#Gi}55MLMn3*EzC ziT^GBTKpeolHVXg$N$5E@NdQ6iN6>BfG_Ajif^Ks`j+^%_-FAi*f)F!eeu7G{}A65 zJK`Cs2mtjcMg=%XDZeQ~*O8%yus#u~BF4u7wMm&GVogS70i#3YZYs!OIU+}iQZ^<_ za$HWxNjW8_<&2z_2jm=)iw_agwu}YU5n@s;%A+p)iR5v)1VCDmSI86cq&y|Bl&1+v ze3d*aua?(fAbCz+E3YH-!g+bUe2ILiyg}Y5Z<0653-T6utGrF#PQIv@5q5u#hZS-wTSRlZHWT|O$`A>S$A zC4W@DTfRrWSH4faUw%OTnEY}1LHQy16Y?kJPstCHXE9Q38vi0gl*+i19Hq5O+y~TmGj^6aGHtN-lj$5y_0+qU5=~g!k+h=#1l}0Dh z-|XIMtKO=aTb72z=$Q4Imj~=_`)i$grBZ1aUTdS*HiD~Wx6^MspWQJU4bx98cD=3l za`j?cwo!y)Y>$p2(S~t6vr&eEEi?r)T zt=z7+>H2m%x^GXld9BlJ>kZ!}(`+_$tzz()RUbbQci)N6*d4)OXFRaVzMJ)_a~(E+@|E{SdFjfP=s z)oOXOZs`%WO`Rw2RP|0R#9pm#RTZtMGxVmh9bntPgDP2ehlcVsxMZ~%>2G#lxo&Q+ zgEIoEBO8snWd|$Wo<&iwSy3=Y%c$BkhtV+G{+e#BSD{+}s@Z|y3`1)edaK>7_|yef zFKn&XJGNDCRl1FhkX3KC8@)=m-mv}9nr>5Z=-FY__HV80wxze*8jW2w>n&fCk=kvB zdu1R=rQXtQvlB7fcD+?@n$W+|@hf8Do$au(-R5N5s99FS$17f{R-$Ye=|I17wb8A_ zs~rPE-Za$R)b(<0EwHw>OIoT)^ctZrBM4W7(t=j;udDY$0X<+iEDT4;-t zRONbk%V+7UdZ+HIu6LLfXseLGs=4juDLZ;0fo>M=Ci_sQKC2MM$2Q=)(k&1ST`VfPt&Yzhv^Kv zJOFdmhErWw;k&BSycvpjT*WJ@X=lm?Ul+E#r_(4CAihD7;AO< zyrXTkxo^|*8LiEFNB6END%G6N@|uqhs~KjbzZo=<-)iY?7=j($EtJ<3WySV(`)nro z>{t!aV3u8mRTv#_&xAY!_PWtD>K0>vA9Lju890Mi^udA{gWh|)W=D^%b_~_QH9qua z+ix2ULvcxe1*WHtc-Y(Y7`D~()SI=6#-7pW^!$oot5g`Wx^!0C+=6U){k^Vg8iw6% z$M;uUhO@-`$3{MR? zpvI4fZ7=AMP{rtUdRnDnuB{mz`rO%;EAdJfLN#GnYW#F;BdAysY=j03I%Hy1^~P?o ziO38)N1gf9YR^|~Q+va&q?l@rV6|)84P&)#t!uS1Encp{rXluT&0N#qY8#MZ1a@7w z^+wsO!Ynk0Q*}5`aV$iS;j5WdB(vJUD+O6qdev2K7!SI$k2LQaRcvKhe7CJYTr)o69$9ViNG$6 zvR+wXxH|3UT8`>qKwE+_FUNYfF@{$#}w2MW28%7V9 z5!wJ8fE4K3PGn!XyrD6PRJ89=65P}1t=d`>dET;34YmuxS^hrzEjPUsI(DF0uXapD z+irM>uUWs`ZPk4+Qln#P40XkiH8m2;mn?Uy-E_CCD?+U<8*Ra9)us;)Qc+aU|esjfp5^;Xz2 zI-7MyvjSS0h2-nhw~@w*0k0$IG^=gs8+tp)2|XGO7`Y1;dd-U2V28Fwx;MKGgB?bw zN$pA;z*E`{Bf86sz>EwV4}!Df?IJwv5G~n((NbkkgFa~en!jsV-BwFq_igGrV$8c) zSLZu|!M)kqjO|Lx0quCV)|*u;zK65Qj<^L-0v>%m#-g#E?r*@ObQRK+w$vMn=O`Gf z_rl1_y&d;zqvuh*={Bu8m`1PKVZCdcH1TSE+vs>K#G`k!Yg|%z(ot3U6f?3-uK^P1 zB%Z@5R~!18k}1@SfP??}cvXE`-?AzSUGD+ldbF^Pn*TfMQTHV92vxZ(Hv6dOL7$myuG{!98l+HVw}u9$-IEggjEa zoOl-_lqI1n`Rf~zhw+&xA`?`d$Dif$Qxg*?rg8i{4tyAnV^l>We4 zL+k|5MW)PnnV1tpMv|dq-f{+#`4ieAUMVp(eBp)9)bo z!e)c9Ke#5o%QO_MV1m=~Sjek5bOuX;i|`l-7iZoPbg9%v6(=w3hm)Gm-T_5$Up~p>lky^QD*!8?#g;sfZp3Gvf zR!#5-4{y{WKsK5Q+1WASCj${%t{6SDRda*N)2nKhV)e?VAh6fyXHTy?J5J zCD0{}55H;{y>N$19qhu?j&WOKjQT7$C0aQ+6C|mg5L}ad0&O0 ztJZ8)~@-Ej$a@f644YKVu znX8(u_?~89_Y_zKkEdvtsjRPN7!2W%nm5pCYkIX8+(p)U&(rBzC=cozwz=W&wk!md vwXT$%co3ig6_mpKtDqBV&yDxH#9C`lJKA3h`qPc+?{LiZXNgT~uCCFgi|UImcLi~A z01yBG05X09!2KJ6;i`dTfaU(p{@)`muKLddG5&jj^AFs(SmZ+qQ8Dp`^F#mJ5|Kk6=p)i8_jES9*<3HC90D#B<0ALT7bQkv)M$Z2n80fzo$p85H0f1Q8 zdYb=pumB)QMgY)$@w;+1sim2bDF8^0_g~Jxbph;{KMdoR|KvaSuO2}34^mKekS9w! z7mt4~`Ck)$000EEULbg%t%J$GJVn%h`-cCAI90o~osowl07xbKUmd|e2!Uxq6zq-c z%>KFVf3-;e_791Q>7I9VaCQLzsm%ibaFhT5>gTyqVVp;{iJ_sPDIhRwqf$WV$!?(0 zm{JcKAbJFj_^-WxtHJ&Q{U5;pA`qa#f8&4s0sjN=U#*eP3}-+o@KxK=Dn^s^65&5A}$L&D;RJ> z^xl2_dh0jA6z~0IG>XmC6Z7V8-=G^e#uAD|vs%(m>4vk7v19HYv~^@&5l+6~(ivA- z9*SQU(j0wh1y)nc_C#%$kG?7NX(>>0;ms{oHgV?Dis^}(_F$Sj;QkP#JHyuPpY{tx zV9thfq^3J+>rLe5n8YXfcjD)Xl&AJ(u~KeQnrTjTn%qO_bprgmD*U*Rl#IAniNc4O z;B2@g=~<5vzDH3HO*c&s@-2PcVAj#j)w73ycf#+4z3a9&ov*epzQ6jv`}Qu%z8!oY zQhu{bf|CSg2zk~st>d|XUF2(ws6}`Q(kUxch_4i@SE^B$?5f;Wxvf;dR}4{C#fF#} zd9EY3hUyu)r^Ee@fG#XNPdslte<>%LEu4C zh{PLBa3Jpku{Vmh9;x#S#(ogBc0|LGjok!={Sdi&L^?YR;Yha|;&xPv6H2B5bIb@S zb{I)Be26jj-4T9v5Q`HG#1T1G7`!*2t^n9RNN3-iGAzpwJbAz+9hzehH650t-&GNs z%#ltu*v1f87fxfq0}~=`sDu%Hw10#VTbyi`OjQ^;yIf9{j2gu`hafvT$qk-6j}vcJ z-y*GPXXBLjYMEy$$GU8i%DHqyi^t@)Nua)M!}Z11J5bM(;?IFwubt*u&G=DpM{3F~W8;cpg`7Fm-Mw|Xy&CgjLDf{+Y4qa-Q z#%>b_vM-%AZw+GlGJGdJvn^eM+A`>YCE8*35+1E_X>{)F`PveDc zhi`{36U)k+b%~|O1b%1nTu}HN0E7%HEKEowNVsJfj5I2K$0(i+qYbi{*>XQ{kN@f6 z;Y(P@aDBGNZ`%Z3_b2z8xXNpprM^#NCj|{F0}E>mWAF7R782fhyCZEO>RfB~7@Z5= z6?pGOQniNd)6HQX4Fam*dMnzR)OK|ERT|RImjO~rS6B~u&{vsr?@J??sx~J(nUmtgqibzm-96}~ds6wHj;L>WWk4k5Lzf?`^=Q5It)}8@ z^JIw6FWRQYhuEi@qSwCPdoIptn6jyfzPALcVERK)JRhS+(7HbspJRVsNPf>_J!P^T z3K29jJ)y)9Hf@DXsN{ zj1`}{Evv+KF32OHq(sJW2&OM^xi_MCj5W1r8wnbm`nfx-Xrj-87N<{XXJ(iA@3+JI^rng{hKiL zCbx}2hHW-~PlB$M378sbyI6u=!oxUqCizIA5;XAEl(AMYLMim@TP#5`EYegjQ)sdp zDRIIX6B1G}Bk{Evbs#S3$a&^Bc)@!K)*SW8%xYqc~}c`Nz^|mm(s2f%C?& zR0J`u9Q6}KdCO0)OzmbJ_9sSRZ{c`of)%)s+h(*uQ>43G^VD;rI!y}jGV<|XI}P~K zg=I~wdt)o&C|A`C8dD1l54kMOTII3>7%#9(lAKSFCzU6%+TmYtar1c`ben?kLGu27 zAN?ylWy327yw5dd`n=D<_Z1qYLuJtv@;RQDRPuptei+}7lO@?eO$X*T@;83@trDE{ z_r#00t`MdGR*}PEkg?J&Dxeia$>+3vyZc6f>6m0ldbw7S9jxkLIurr2b-www_)*^*I?O!f<$vDNGq0bNzTvJqPAY=tB!?Fw0sXjcHI#7$Ga9!rG8C$s~emP zOUM+E`CwJ*z(ey}+L#9|Dal#jLWCLNn6bJE`^KrS{OVP~3 z#AqBFzgKQRG|+)3#|iFdYwf)U>OSoW4Py{hemM(%-lc_HG`&ui^@bce@RhVSMrFD_ z-{@s&&|#dR6VO(wyRzwR)O(D z<(#KXF@G#gW=2uMC|Gg)zO-`-yfLpX!56;LPK&+2W}P3|oW2Xs(yu@3j!t46HjIdoqHmlL&%WsdNl8^^fOT1(VVl#pwRf~< z>}nh{mi@x*MaVgM(1pzonh`i3Zw6;I!(#*&H0+lZjj!TYE#3R$zA*Gfmlbx~`*~;f ztzV%hMV&V727Z`xUfa>pL7MT2vc>DQwKKQ7bAd|ZyfV8hWRx@8fN%w4`4e?6CYhld zb<~-#6BEWjON6P58dFSFPm6=y6P?cb?7;2YiKj{(kia%W>vhMP>eGdt%O8;JR>F=p zX=z-|ti{wgQr+>4bKCOW&4kYfm!ZEvkX2F2jJNyA+^llYxeauKIR>XG6V@aMs!u3> zR8GgpEwkQ+5?qb2|2$8|njei%RWTycNP8bu-V~jc(@&!Kj-e~jRDo0ADKQ(TmMB|b z2+ypN5qKOUBhH$Imxu3QZedf3TGwj5SuAj*aNd%tgXv&yF3qykkwv@~(><2u%23ql zYSeIZN|ynFU#zWFm2#asVLDWJLe*%2K4iP@r^hPdkvlEAQCbJHoYh{qTfLT5p?fHb z_}k%F7juRZi&S9%=rM?wA{n5LqRzfRl`oS-3Odf2u3)`NfNr>X=zCbp7qytBHVxnS^A z+xTrnh;F%j-ZmR1CayR>vjpkBIxrSU1Uc;NIdFQ!0S`gIe5-{|@h+V}j=g?33);&F ziGFJYfPxP)p!~=^C~!RT$W7pa9K(#_3P?D3$@3i=alX3zl9AcU{=LPP#1vPEXu z_1XJHX_Axn#D{!IyhL4U@kO^>6H%seC1r}9dzfmg;ct5c%cl2m5TaULhkJQJM-+Ga zGoP&Q#J!pa=D+a`K>e{nz}6(O0)}tcF}a3VgCqN|fYAROhnJE50@o0&fU_3yL^tJ7 z-e;5>(Yec{lna{I?+Rz=r6o8+$$$)^0ej#J7|%N*@NZhnIontd>{OCBbB0<#3}=_W zCN1`TgFC>LiqriPf`}#H0sk3m&E@y|T3;g?nB|NWyzPzN1wFa9iXczUfS@kDhc2vU zeG3VKX~qR!Q9p>@Jsd`6$k33}}g<_C6Q>Ol0^!NWa^URPyQ)&#%6>i;GrV@O;?zv1wn z-?*6MCftT>Ete5TiX{ls$%!bl=$Y%XQMaST60KtpTBeB2xE03|1s0gcV^CHz_@6ppA zMsX+oHUQRSnoDp`47UCdjx?zTqdb<~ba~vb+&>r09%LWQL61h7Q7&&Fd{Sr6d+*bq zL1n)Rre9;s-$VHeC{jjsD@0j*$lMc&l##IzDijnMuxEyvAFx^%%aHbDC5Gp4Ki)0M zRZ2NlSVRu!h)ylO)mpY<*h-1zy?Kg@^p#&egVE`n5~{eI3IEfPV*JSHgu8Dr;L+^_Rqv7E z53kZ$HPJ>L8m5i0N!a=hWCL4~h_ zr1LhlzLdDkbG2E5y47A%G2Pn zAZQ!)CL^&lK&)k?`ifo7hL)g$x70B57mDycQ3eNE1*Zuj93&bN02f$DTad9XAXg?C z*9~+5Rd!&W6(zJagilO`l=e|n11uLy9+Y2ajXCGR2R|2?j-NW5*b1^R8KeAWQWQ0( zT3!yeWtvmcTpV91g|)g!Rv!gekZO45lA7ThnmCjY8n{K0ato8He*ulS(r7e^<}X(O zTjCn)%m6m4X1?l!>d^iIe(9dka8s>}D}VQM8+=ts;>mYfLC?M1PJ|a-!%sJ>3fbDW?oZ1w z{+RKLik`;Lvyh3I0+KIPN~D=$AuNMpwG2m5HG5wz+fFJImx0*(j>DEN z^-K%eScT!=A4|-GfudcrKf6#0d|#2#o=_f^xjbI_Z7~^sJgN`MS-RG$`4!;sc88yQ zrQyt{yB1Ca$FLz2x%?SUGKhiaC9e6pX&8q0DLFu~k=0_2Na%1x=hH6z-{#Y~ar^&*-j1 zNSAJfS^zI1b4`&!`3w!#2#H4EEGDr|^IJoe87ytN2vsY0QZjs%+JxTwZ;2)N1>7M? zB-Ht@*6q){+Zu2J?}{|l_P*9KEwrvt5fvQ0G``1rw0wmr4$;@y?;7QLpm+lI%qnCg z?jS&Kp4O6c?svqC%k`C3a&lE6;Pv@y(U33UmhS<@lcBM&BI+s9k^=FW1o<;)+ahbf zAP#~fz!|cQKB$^&W)SFLNIqeLj`&KALMl8RFpPsUVu@UYAWVV69XSWo{HjAC7jpX9 zJTnc7``!6UPOO0&AC}fuY*a$q$}0o=rih8pOI7m+t)^VJJ84xcn1blpI65W4XO<^| zv8ZS$wewkHDoZRcb?bbc#2e6j*IXO@N)9F>2@#3f=iI)?=D;Xrw6f}>`DZV5ld=v{ zJ7k1d1i&(6(*sTM81Z^0*2EJtBY0CKln*2(2>&P>qJy{tn3GtO4xD{9w`BKI5U+d? zPp8T=Si=I5zL6)mE6J&6YDc?1G-3sO4EGjE5sW8vH*W(?wNc(yVsd@{TwW?c!FzL$ zWuaRkelCi#jCZznDMP#ZR;W(wm4gO{>z4-*5*1FPS`1M^_E$Er8fbX!^HFP%D#pUzD65eGc8wB zemSZ7aC%7yU+YB&%|TFe&DC(#$~T#+L5*wG7KbXWk+G8!WJ179Am9od3OL=kEowTC znr?;W#bJa6dF3;oWI-fMGy_EpEwQm$27nd^xD$LKy&^<0( zd`mY{%vsBtIc_kIMvI`oouYNCAXFIPR`M~ZQUG2*@jl3KAiHQfyBXok`F7Vo!W>00>V0y)Mn5nH=ZXR>Pgn6*6z*1cV%BOfto?mLSZMK~*oxJ(&;J-qdW0l)d{~Ye4EuW zv8&^I8!2{*#C#o%4`qZ(CBi=rbSHnxmh-}s&N%d>K2_SqP(n5d#CD(guME)gYpWgU z>^OA2&!ZvSjx87jGjgKM0Ip(dx%J9L5Ehniu3V)spa@M6_F{=rJp&Hq1yMJbj zCUS#daPmBDik3H*VyYvXxz+>?!$FW#oV!^)JzP-KML6`?-`rVNVGiAc+61Bp6&r zRn9y1>=VX`*@pJVEaEp@CE)iO%P7m`cK*(No?L-QLa9_MGZV9s^E497peR>tn2=n|se&e$Q`5vvi8-P|Md z+EjZ*UQhxrnK=4K4g)TfFZdxp&yIVZa$(&fTtmCkItI+zN9AdHGF(6-|uFMHrzGbCAv$Ea!35W29)8v5-l>c9VIE@~U(6 ztDf`k719ej*mv~129?D^psy&_ybZdGds@4EBh3DoeYZLkOmly2yxg?Bka?@3fJVM8 zRHUp_baEYI2uQjXfUn7spocE^+fu>W!dnr`0$H@%u^H7$sCU#N@P+n9Zcw5WPGUX= zTO5f%=6flwfStCBmp>gos+t=-!=>E&}68?6>W{enl~d+$y>O z(Vqe^qWmLmXCdCzLcC&u&Mw?lqCAc{Gz+)lkR_M?-jTi>Y{}&mEttP9%rI}ho)=|h zWt}(-Ds+5J@x2k=_V@XH*p(^t{TVX}X;>;7{W^!m;5X>}9$K76M+>?&yOBwtDK zf>kF?h9_gd>n+O8kuH-X?zhNLQ1Bb^?>=nkT~=(Za^cm8v5#%1e@SDEJ=~Q1!sfN zM}J>PON^>*@K>=Lu$!uF0{`u@Ulex0Fs;y>jw=zyhV9ip8WXVt9zUCFik&G<%CAwx{a5451JxFH3vmI`tU^ACWy}TTS&FXl2d`m?MVyIaKBmY!I8vSB zXhH{U_#}1@una(1#|h#&KQMIET=N7)QX}^#+7T8nG+KnTZjkfE(i)_yC88P48QB!+ z-6Ck^U-HppN@9#XroX_eG%plTOk~?!uCHJmLUyNcrO1J#ilV?2zH*hX zt?JY?UX16TWrZ>57|#mI8p$J>*Ah3vQ)fs%FdLLeGCyVrOZ7Jki-M&Al!l_2Q4wqc zmu+w&14W@Zw<;s@bI;7IDK$wYUkksyLVu#?*=mJ=(K8wl5&le~<-b}4?6T-a=@{m! z4rfCREtvZ8y_v}N%MEoAx?{86Gh#A&!&@4_t^x-}X0f@YURF;>%mRb?o6wr1Gg_+6 zvNpLBaJv}PYQ^hxPHD)x3S$_FZg)=L#uDEW*h|;;2Sw7-q>q7S#`h2}%SBmF(yLX- zy=9E&hi=)$OijXaQ-UXXAI|99@-D7pB8&*K6_yJ3)XYTz4}ybHAK*0(=me)3)8Ly88#A|eEk+o4L2w}#_ zBo+b`lR*>iNw9=Tv3i3^_lvO%iead#22?k6C%$@~GXvBh2jbS*pTyNVd8K zc{h+oX_keY0#1yMMx*My)K>MWnWqxaXBxobo)Ih;sM^=q zg|`PnzkTsqSU<$e>IZ`9e7;~wsgQI-qZ#am)$--|+WXgm_ce2`&!@AFb{bEDq5F)_ z`Fv_65xeut>0o(r_ZtT0iea0^ttsV}`?HhJ4hi0JOGV}9$$p+m1!m{B+TvbKw%vU=;;R*8aPAP`<}3dcPUmvU0~lz zYB*i5Z_B%YcZGgoTeRv;GQdFSh2f9s=^Oz!E7D1-LN@(qpQ?csmHh6dCfja;4Tmq| zmds#9MWWI71HAg*_|H@(vAOAP&Gd5FXpQRbDtQ@cQI$>H&HPHjF!Xd%YuKTj!vZWw zNjt_tm}aS?WabgT-3BW*V?d4<5;zG3!iJmfU&}wc&qr~fYmqa$zi{zvX2>9tMxtNK zpK5Vtd0U=w%$3$+BG0@UP1}4V{$AM^E!f$P=6jzQ==Qn)Ih{I^H7jfmK0Wkc3|~N# zRH*enuIMAuu8?#A80W4vl1+Hp^=Q<+`ji&1F+>;OIZpX6bSUx3P}Z1Zw%4660KzrH z47LTuIkxy|xNYI1ME>IXpCul(r>?lzRakzx=ydgFxGmX?0oNZ^mh<+Zkt?6 zHlLd}#blr2O=5(D%eHQ?l39Z=c9?t98Z0rgh*xojdBu3O=}1V_^FJch-C0y{ADvuw zWEXjEwmR5vsi&W8ZhydgAI!(fhMi{sJ(#8s^$$=oyzQCB!bX)vRO`ML(<@c;dL*lo zs_}WKSd1=`R#$g>idTZnZTlQ)&#j{AYkhd+MFTGK#zn~<&2|ZyXI+EY)D|z2>9rFh z>ADDU=h0L$8$>0T>P=F@4ix8OF&3x|AsAvD0H|h#SlG`=nB@1+H-#%W=M!<~Ne>rG zPmvbUQ19R_M`y`R4@~b*XJ#)$4dH0DadU-J{sO^_kEQ-RwvJ(fG#z<7Q$2B?jIUCH zq_~nk2&Kx|Px%daKVKWOtQYl!2$Hq=tZdVG-A-eS8M}zl%mIIxw~X6FwBQBPm-$9- z{I}sfOK=-ljy0!C6JXzcO~$&8@ElQB= z^U5{`E9ZVIzac&d08XTtVc7eDX9M3(nC7~r{R2D?^i%j|rG*_TTentzsAV#AojNS- zzv0aA0l5w+q>$k~+!liH$Gz>|afH_!bkPxQe~?D_+9I&-58#xxJv6&x zADth&CmpKqzcxe14H}6caniPfM&@dzl}jG5hIv&qzs`YAwCbt)UXaiYa)@qqDNMg} zoR?CpaVCC*Jw1Q?>7{Ph>7=^$fE2GPT&36Y3W0qS$#QWQX7dWd7Ff1Hm#igC_uJ`) zcaW1Zix5YVu}9xZXHS=ZIkD%>==0;3zekAcb*LI-r&Du~Ctj>Z3#0loCaN-CgD^Zx z-l~dIWQj0{Ib1z}FYWvmNx$`rj zO85Mw!8Q+Fxc6x+6~+D1hgm^`vx2|VYYE+umx>h@1ZXDrtTy*bBu+Mi_I_f5*8JE! zuQ!8!F6IkFI7%qWg_|u{AEHV5nsPLGn-+UscWMCAYIv8*4TPVni`S zlNmlxpdW0Oa)j0&fC`PF*lZGpuf*2I9lkahbWoy%vnM(i{hCyn!!s%}H4h`mFO!7g z&#GdS?Ppv})Doawaila8LpE*6ANAaeZq$YG_U*dRYr+CKbtu~hHP0hAghcG62x<*Z zBCM_E$0r-{n?cK?FwBiroYp2~^67SQ)N#E8p&qr_Zi(@xG>aQ;R5qvC@dTb;CNd8j z0UkILlB&a28kw?IDnNg~1pEc^K*8!##VuUS;c`7+)9#_qY3z7oG><)%52wQ4Us2Ex z4;Z3oAd$(94c%NEy!P@DsAUBa-A{LT^`+zY&DFZ{-&#v1Fq4snqd-f&C~3q1`}vQ= zDe)CjT4I=>q-2m7&;H?w!Y;--tpyLfE_V5qlseX)kUhRP7!G=!bjXc61KRpZ0Xd4( zG#iXZ8G+?qftm+sYTzq{v@$#JxM)hLl>P>)NW4;wqC7{vQ29AwtYohQlQ?m&qrgfAX%jaiN8!#{#D}r^)j$f7BgyW??GB zwzU~&r*bnrH#eD|fI3-nc*Q&v)oCPGM75G=aoR9t(fq6E^`9hQms(^_|`Q7Whu0p=Q5l(vl(E9*1yGOk1Kx3`idyBEmC8GnKiBW zod1g{`B|AzzeowEWb@{Z2f7TRJt0|z>gy$X4#m3N|v_8ua2PM zeg48NGW{Sat0I@JawUAkT{AP5eh_d zF?zH&tHMZWx%vo}-7bLA{(NVM)u7OyT>&3<|M3kz-G>deGeC(xNyAqR1-7Qp%e?%a zk&8)C4^A&+WQ(_y>oF|={hSIYPK`KUPfJF_2Ll4L2JB{DqCe*oV!FURNPqq)wO#I9 zX@9a-K=&d!(N{{Aty4)?F!6HG475kxW_A6NL(!insK5->(obuBq?W9rgZ}A=H9Gr3 zm{j(UNBf$o()g6mA{=@G!8?m=5hm%LL%M!Js)ox1?J;&K9sQF7lr2kmq=`x?T61`D zly%+SOs75hQCA-^Fu)K-SNI+iy$5Y35eM#eYsI>U)-wOHi+e;a`pliE&>T-S%7X)P zGBms)Z?sslvr1wn_EtsV7oT_Ix~j)LfmwotWEz~>Ply-libG{_08{#JJj=Nig>YVj z_Xb-lrQ`PBR%u0BNZUJtjcA)wCTk>0%z}Q`(K{zV2;Q{9+qL9G<+9T*s1gNxVhr{* zA3x8Kl)coW%y2uS2h3h>HqQnS1lgJNh)nes)&!hMAIx9Q24WU~Fl}0GI83^vgc&1K z@Q4VWFFW`_!}j?R0I(tWtywn$q^3M_jWT>?R0z**?^!4ZK2t@5&*#DWs8bAgpfQj} zEW&L1dix8>}G9t#3vw?^~=!Xku zt$cdDzm)P}MnX;xI~XT8(4ygJVsq|=uCM`NW+}7}JxxaJaF)B+LJoR`#|G}8DsbqG zd7yCBSHcWQmJeDYSaBvgQd7hniWUl)e{>`WBv}-w+Jb4|c82uJI9uKC{Y{dM$?5pi zXJ-L`>0jH+Gg}~ry(wcI#miA+Ku|2OP9UOXT5&5U;b=hsfxMVu%Y7>ac|Mg5=12=8 zoUQi(oMB7bbqBn8DNok{e&^Zv?waKTU*?fzWvxIBc4#Fx{KpKO^Sl#%$4#fqs{NNq zC35-%@rp-6FSa~vh&A?Pw&pW0=^A=ckasOlbNGi>{?O0#-C2fSPe!5B)8C@8N?LK~ z;WY6K#2^%p^<`x}n4C|9bKGdKM=`xYy~oJfmOnAjDtk7a?6g|M-`XtHh`&8HO+`WU z78I~ZkK9<iQ6Tjjs@Dw>iUWdtvx3W`FhhJ&<-j z`S!Iv?`ddoA$>gAoX;qdCo$@suh682q9X#Pr`P9YF|hnSq$ULpD#*7}=_M^;krA;glCbjK`#63j4d~PjcEb`X4sfGcpgC1&qr%Qdliwus zKC)ArRKQACi7OZiDt+OV(lDsx`xdo7dw+|0$kt7?J?v$apb>?!O07_nQU8!^3vsZ` zc(qi^IIuJt$Dq+`)2XTc6*escSSgs7)l#o`=tp zX?-&5%N-#yS0GsIF}~18Ct{(ux*(YgNr`HC(B&sEUk*Z@AI|X0PBTk~PR$9z06#af z&lJK52}NjaJGsZZh&=H@snM0c<@k$JQ`viL(Aes=a3jG8x>ixTT-}bhHs;lZP_n`a zHS@OF7Ih+E=q9X(IDMIx7)Qz+p*{}_ST8~;4e}t3uL}6wy%^SkLyGxc2N7H!+o~-h ziK$guL{}G$GrE&Np*a&Q@0~ysLDHX^1hxLgJgv;uCf0%-CBLiAYNzNxaLPN?Kkl9I z&HJRek=X77rde1(&6G&jyv!cF!V=-OLs)_lV*(77xy7p(r&0?P+ zJ*VJqD=WuHeadg$mElr@h>eDc343Kwh=CkmXL!b^E16E&;4ote91$@pyVETMmXE;Zz0^<m zTz$Bhl{7Nd6O2Z9*={Jv^sitM}Bx>v7tzrBOeV^Ged%G zsALOk9zj?WZLwxJO6NXFG1A1Hcz{}D%`s-40P~b0TVe_0bkAbqa+#|!M8vMsZGz+F z#Kg41C_WC3_jL<7SV{fBRKJ90wWXsE*#phavf7OyFdj#CJmR?#0;OL|6hG-FHl5`@uwB}W?x z#6O0iNme#U(ofL*_!ZzNWL;+Ac2l&CxBb0+)zQWn)6B%WMu8Eg#Y7C%C0k+pcx21x z-HDpwOQATfIrid|({5FKC6dU$lnPEHC&i%_@Udlz#eB3pACfhjKaTNf`z>NI53pn1 zQ7;T4Q$dxZYN1D>i6P?nI$wcj^$o!LHh`gtru0iS+Cd zNA*=^V%15E?yN(;P!lTm^zv8~HaP#ggfp)qx{IA=W(^(q?%?(E&Er~0!7j9Q$VVJt zy3Ptb#1xAsgYI-qrq~r-;R#J{n-gk+y%c#k8BiEbT+m&78EK~^l=M_x(lL2@dU}>u zxs5(4P{0)d3$V%y`nw1Bee1+kJ3}`A)724FG4cZYDt;qpiT+1ot%zp<&YlS z5%+;I{K*ok?H*KwUyQBs5ZqP+mKhN zwBEtaZTw+#kW(N4%K1iYx_AI}n}{~}V|ktL2-5|_jiQ!qjER>w0G40PJiRG9WfRB$ zMg!oaC44>7&m17Fp-8ubI|5NCl@7dX3ePbAp*fUknr;qb3oNJ{-Q30#{w%?JKI_sc zm_JRw_zYxm*V`5ziq~I=E6xWTX$9E>gk>35s+~>|XfpC%Sox7Z+z(35UF-FCliTsv z8dlYs!(1(8WZkITyfRAjPn+6EAeTeYfygdIb##W&RYtaQX*@#r*HS@fuMD%lLe=PsUc9X-b3fku|Z0T7XQ{Rcok zvd(jxn@=uPcLYdr3iVK*VWO!Kk!Gz%5t(WMe8?HZ0SK&1 z810c=VcyZ7Xg5jQ7>ngf;;w)zlhy`^dAB$)NKdOni$J6GP2PDBfI@Blt|3qv4|uVo z$?-mMboIsv$D^wR;8WeIHgRM8ek7xKAz>k*^E47-OLn%2CiS5m5KWBQ?#VCt zkw6kk>W71Ck_+eVIg)??XJ()1b^BFzIx=5tWcwz<5c(EPwO;D0(rOK{k#UoiiK8%g z$r}XpVI9!KAs_LyVl0Gk6#4CK_DClL1Oii%MM5ZD7MO6c#N;$^XS zHc_HX;K%PZ{e+sd)5lB`omwQz_im%lSd7!xW0Ji_GJa>4@Gd944Yj(p+Xoo2xn;+a z+TYZ93w$DtPHvD0r*{VB`S{S9>}E?Pz8@_)z|RJPpX92wNE<7*5ai|RNnao(jV^H) zQDC`iT|Oz?mm*`&IQU-YJ7U^C-P%+us_!PsGB?u34Yli7Lk!qXN)HmfD)#8k=T7Nt zy2g-OO7LXA+QSh&e(T`cX+KPgV;f1C>upAFxmY?0H*y%2a$H^w#yQDmCaTnMWZ_C9Wt z>lQ&S!bB^Gl-wtnK8ucR-I;_smnza_*DENzfR37*mqE+QCx%Mx$E8696)3JpMNt`B zvv`1Q?}P3eLE{v)z1vKY&fw`?BhLyOx!2mYpsy?U$7W?AmdA)KhPb*kXW`r)V*3^R zO?`whx%X{30|Wtm&Am9v^ve4h)y!#a8m}iW|Cd|q^U#y+70;fL#kD_ms73Gwivr#j zXI?vfQoz&G*SAC)iaV^v1@NJLo;OktMh|4WcV^bn3t-oe_F3M3?6)05q|D5oo;jx` zy7JDvsL|y}i9RH?2MZiFFTuqcY}!&zcBtqqtl+_X%*2zpqH)$QI%z(1DJjlA4JGUa zWC+_BLT)WM`>w-8n=a*zgl4P4O>GjOj2lfO`PadrmCa^r-x|5dmifeb!X>>@NpnBG zGnA3ePH5~EK4A8SaUOC5m*ZgoTmJgJI4g8L5o823L?XaoGjP^T3b&|w&)Aj<*` zAwKcbqH%l`)GFPUsBRFA3^auD$thm0wjWEmoUU3GlkekJaoiUy+GT(S9Gupi+8o<{xdV;$ z<#~g=s$*`s|59)!*v~!SAN0-k&iy2QHT!ob$`MLKB-iXK`8|nbv`2(Ayaf^8Jfp=4 zzZU8;c;oN8ghqr9x8#}>E_S>K;N+kFb=mNhf#@XYY|-o5pfEHny2BYk)pR=yl^ygJ zo-slZUBnoGp&}3=bXNxNB_P$Kl)ORg|JCV;)9nf-c3=o5Ar;qg?OpAKN(sTiMkl0= z0A;JUg;z+l3%{-`&Id=9$u9VSi@cGt6{bNLavC1o#?Q{h6++(CJul)c?2g<}Iq)Ul`4%erni4XePB&mPA@0q=MDM8Xq+v9#A9I&3ypR%vr89Gl@z{nNT&WIn z?eUtJNEQi$@pq1_htbs!7on>Kqc+#d5XE}o@zov6C!i5>rDTfvJoWiZe{pc8DmJGP z#@oQ}t}+V@XeaosM6ZqjRFc08yXyM^>(9OJ z&9ctON79;xz^^!+&d-j@uIDzEsnE0%gc`XWBtEB*{N0ZNZT_4nMiL{%IVbQnKu?;8 z(Xy+bKiQPfxTYBk z6CHcto$r&e-%jf{6ep~m&cMeSX)=P?b&gkr2?$PODxV7?gbTZ)d;>jM-UP2Q+YlWH z&IBj9Aik$d+h^@R{k|dI5l8FnJVwaMZ){4;(BcZAR&Fr_o*L_IT}NHMv)2R>bN!4w z2;zR_9_2eMKUPpT19aYJ@NX+*Z=mlMp z@oNJ92Q@&-zZjj}B$Ne7ED7%_38i<4CGi&^{e_ZPo-B*yd&)xj%QYSTK3zRqJ5t+K z{d8^XCG|+HuGYSEU@$n)eq7Tij(#9ftK;a!|Mq9- zqg!uy=|6A1A)~75*&5>E=PT9k!tq_zBena(+H|d{7>c0iN*<7;59u|f7w6K?;ltI7%xhu>1c*+8JMT0ZfSzKzgGKpt#+_lMKfEs z-*AJAjIDn>j?OMFK3uI%RI3lG>POSW1FCwkR(lxkhCYZFEUsU9>kwx{bTMl-iWnBz4Ci$j<^)SQMl3`6eW z0mgRl*^N$d&>E|b#r@*=ylyN_tS=(U>;}ZC9Br+h7`tS=x->aiiyQ510n~v;POgfe zZmoARtq|^#nyaO5!$*$OUVGi_S`bZ5PuBg(<>kq7L`9g1l2xc}u8i+#`nAdF$y!hx z8!M_ZAsN!y?YI;~*rea+7ByL1-i{&t9ds7G02(KkI_lHt_t+rmlC*STbJ~iKq2=?- z?nXNO`L$_(xc?5fzN_iAWM1WEs+%fXDWvB?5idD%F7IZVuDrXybU2iWKk-KN!m0iB zjfI+PYm<6O&jcpsXXN~zTV=O0W9fnBxR<$Zw$hmmdJBh^!bv3MmuC*&bn%{J`-XeB z?)01UFnihlFvIYtBn)1O>mPbX;U0#JXCV`(F?YkI?dYNPM^4SpzP3_&_|&OW2kt`i zgZJNA6x>Vb#QPP*Q$8!_#%8BNmr4>Z^EOC*4PyhQq5!HKfY@u-Pn>!D=H|2l`WV!x3^%h?w}2jRePEDd(~Qk;jN2>zL$nh9H`h@cj98%52ZRfFVsp zfp4T=7S5Y~yTFh5BtmCrW;Tq?Ggn`IX4BZ1nOQw@&5^VD0ebfCnaa#}z5|E5Uwm=v zJF6G0edgI-NG!?&ARp85p;vsi+^5@*n@Q@E@y?$$6Bhh|?mN1;ab#u-&>?90#Mt=b<3;pHc?nH$8Y&l6M=(0$J z(UwIp?>!$L3;cjZHn2mShKHs>U1_AlusBev!cH=1iYWwWrlF!Ci+Nz{wg5?)sLwV` z7%FN*J*^oHSEMf^c$#g)0MGa6pcjuL5*g`!3uLr~EPD^Ae{651_Hg4RRxn%Kl6J{( zd!s?0Ed>Kzj)x8yDs$|nV7O6|*cRgL2mL;qC()pvI-a4zqiUwxDgjqmMtmF5Wwy0g zknWn4LK{#Snd2rNqziC*!-!Y5&VGo1hS9Xl3FxIY8sJ@kYrA1d|MCZoV%TM_H3@i{ zNo8HIRO&idsv=ngg-!rIBM8)KnU>^3SEZZ3GOw6!sMSI-Zs^k=IhL~|RT6pTJv6B+ zinbZMfaBp&-Vqd0Mn2n3uB54!pv$SzhL`Z6KtfdFnYN+$k|P0n?@5Bji$s*S4od+q z5emgR)Ki2!&vyh%R5YDRU-2VvYGrcr7^$&RG05D05l|v8MG}80k7(#gY$NLW^`d4< zYzrfMPSh_uGJV;&0!p#ME1pU)&-+Etg{d-2P{tr4wu*>X4C-{SXjnEiLSo{6eOFj1+AKBG50T@D37Q)!4yq5})dQz0BfI1ADQG^vn? zl=76?k|?N%@Ukb_YRwQ7%$Crxowwm*J9|w5bT&XKh*`(6CLyt4x`L?I_J$4MBobCI zrJ_-*yEXt7%wt)@2u8C_t|hp8iD6D^-aFze_r>npltop@qv; zUwsVy!b9wNDKE?Uup&v7kfmDlxv9T?7h5O(E-2$Yj|#%0V&7NFvRqbt!}pP%hB9w` z?lD%#1u-=ipq54M5O*WUr+#;qA;}us#*;+-&d+#dA}?SoY-_P!!kuo|Sr&T0&C$@d z4|<=0U{r%L>H(up0|8MyTm*-nZ|XV{4Fk7Yw_e~pdF?!lUoez>N%AdI5S+ZD5sW^Y zO}f?EpdV&tYqibKVZPIXrgaNqA$ zo%H3j_geq8_FDh-mh?w{)2cZl3`{>``E z`sR;+L!a9{YZ$W?GZXnX|L_%l=j-l0aO|$unc0K)#Qu-3uy*Sw#uKxNotT#mjnW4# z95GI@%R>Y&nAf<3rV&MZTS(sjwWPYGQmEvEDK$*n)7j>)l@t%>6v9a@Oxe?!=1XpS z)A+74ty|u*a{ullFMa6vi3eZ&caDE5uo|LSj>c-$&52TStoGrjZylUlslEC9_WO2j zEZu+V_(Lx}a@E5l{FTsYf;_yY|0gc}N}tCFDd^AtoAqZ8`ByJJw|Ix~j)#{HB)yCEs;{gcNcJ-a4rr;$ zBhNqb2u`IB9@LVfB)A{$JDBRHVR5qh$jcvjw*;8!-<#iMoI`gjgKn^bpz));H*cOww?Ow7!rJf_#4BUnlbU zz)TunXl!pp^G>rVxj_)93&%3v%x&d6#xuLNMYqm)*^Q6S9iE#T%S@$zX=Z6@rgzV$ z=Em%N(pBdVKLxv($ln5QBMD-mv7;W^osOuf5`TOlz3g_AB`a-r-R1Py{QO}MDlc{q z%*-5c!>=EnQ{80F9-EKtVRG>^WRW}v2)>7Q8uYLNiL*sPdIP9x59^zZTNKA@1|dt+ ztc~b@@OpdbqlqFL#G~L#|FxX#NsP^~o@26|E zbf)Iyw&s*djI(zqKEF5$_=Td69~tyflZ=wsV;(U;$Vjjmu3)zMV1{BA)w9WBGFkk` zE4uL4XLioa?0h9}n_h3Ib&1;N8KnTlcng%Ei&yY*mOth zBQh_$3NOHyWXb?GbTVV);!Vw#&KsJwmB$Btl9S9+afu5Aov(O)akoeI(8g#$iLrBZ z$S*k2V`tAkmUR9oSsu4sUA4;@&&w8V)o`tea#Bf>3rXiSXCHg)>}#Cl#y>~JhO6nW zUP`-OrT{-QXRH`0j4SMa(F^2FiTxN|EW)FZDhZKW& zaz-k!#yssJl7?9x%;?h#4M&`;cU<$RwC-Bb^^w|gf7LCD((Q(nD~ZB_tW7^*S3(88dD?bN~3~&8KRF48JoQwg`YdgZQTTuUTVu$xvTo zd8R=O-QVsFo2nt=Vw!)M@+O|7Ed!8)bBP-U`Iobd&2o3*XyQ!bj>IF0HzeMc_(0;f z6Th4IYT_HnqBPuO^cNT{6qx$M%}m{fAJ1Xrxv`_TjAVREL}I>z5XXG`4c0+$l92+` zMZ_V!Nj7|j%PNw%Wj8ZqlmlEK=v3&%th_8|X9%E$?SHs+y&z&~^*DoZ6@-nUMQUt~ z^5&kt6PSY_9M%XWLf^h^}RTfOHvfJs?o3aoc5E zmhIvd8+t^r*bnw~os2tyk2Txg!FB-)uH4B@4}9zavgeAe6d8B?n|tp38z!{#m$rh_ zx$5$2@a3^HkmBRZgj&M5AOgncCD{EFwtZylrcZ6TBow{ojhN?-wUrw45+ErC=!PL9 z;u=1FpmNJ_$NXyPkHYavCKc7AO1r(gO%_Uvhga9{Npab)`3ELe&OAK!!-u9?rP_9l zXhCTK)`PX$FTd)e%^Lrk)l;QM8{_gT%-3JDzRY}WbkvqVf_}wODU?PJjOo~7XM7d0 z8-V>pse!3SAxjKp{H8=|K|5)o2W5_1#&|kL?ceHjTVXehF8{aS1#QVk2I3&{qZa)8 z9h~$5F$Q4}0=SHPq$iHx0Ii@E0;p`mf)=b2;ZglI>>vt!^5gCI@3`i57Lk*3&WJc? zx^|5>v7~SclJ6FDu#QAat6rA@++|g+hfdBBF^4Hkgw>c5{_PK*rXt-j=hwukvAJ?a^2{6N1J7+cjzK*T?8L07C1*T+qUxIE ztU{;=)<;eSb51fS6%~PnymFgy#G@Cz^59^Rjh1jRw=lkV;s*kWW&AhD{{sCRC2E+f z!?;o~C<^2O%az7QQ1?U}_v+yXAbK*tblrqeUpm=u?!H#$Z+!C2=gGO<)2+gu{KRlD zS=duJM1FbwMUS-h{+^9B7wrAYc(iu<>-m}V#L_2sOj~Bk%8=sDwQAQ+7Iz-B9EYn{ zibsm)cZY|Lzet!&%{BhMHdpefZcO}sW-2*&YkIw&x0B|kZu}l#Pt0}dK>y3rsIuw7 zM{4anscja48#Ea2Ez?#pA2%SHX-&=ghfUu%=L6e7gOxmsQ@v&3Np4t)%)nG7PB5y2 z?2~@+O*0eQuuHw%^u3hdsw`*z-ZwWMH~ppa`DIP^^zN>ig-FXt`Y_im#XJy&i=QXI zMn0KX2TSzc#2ayJ6OIiUu)oO~!xE5~4o9_`rNO8tGP0-&ERL;EWY_O5v*a3+Hi_3; zWLJ;On-1*pkPuNCYc)>n?KZ%6**T; zPRx499n?5eWFet-OC+Lcs{bU*&y(8C#}{gIdv`9j++1yHy6N$vN=aC2?Wl;#4@6&R zzv}K|3b8D;zjpNKTYZ<~F~ZK}ZQgYRO`tw6DjY8ex2g)yiFx~6Z8$g9Ua+_OE*svsmrc`%=W_A(7x{$S!JXzz<$6ASy8 zRBCM2#CYimnn!i-jWOuI3kK2-;~By-E2yGtC5zZ*{T+#s6AQCO(iYijgo3h{4y z*PW#E?g!sap1bwL#s(YH`FHX~@>l{33XK|7qsbu%TIPq$jlF{14Ee;OkUYnozIvsR z0eq}GmLlW>bu7q-N>5L^c9~`=4RTiL>@HH@cHfKFyvp==%Ly`a%}uIA*#A!3>eJ~c z@Hp`fj$YyKSL5-9S_As36tNM7#nshkS68n=KmW^~J#pgM(=V)*FqK$=C(pKHrRave z%k}R%j1wXrqUbGQwoz}0rga2!$~`2Xu1HZ#9I-+gEbdxjgTrhz<1?bfbu0OF$<2bo z4<4K1$*i^$5XM#KZSJs?f_X`BjkMbBR5y@=*tl9|oJ& zD!_3TslZ4s2Hn_z%Ny@w=19OtL9Yz0KZ|j=5 za(aB%grOO&hCRl;PN88Km7>V@U%@r3+w4fxOxcMv_g36E2#_!(dsKBbC&GQiHY<1W zE6hKT0bBjtXq;|D@6y`@<*2pbin&%^h+;mjI6be!AWV}J*}z>C);336-yxGH8(2=<15x~q(k7pN6+d<#8=d~)Gsmk%YcWm5EF$_o`q`tke zI6qmexL!pNP~NJB-VF9^%N)THHQjmN&8;2E1%|nJ3^_V3*OK|KjQ2FeOlfQhEFpu5 zuKFnaFuELV84Z~ZXK{Mu1C{}Xb^2tm?NkTZR`=Xf`SiP%CJ!y2Jh{AgdZBQ3c=fAZ zb@luW|B}v3UH^{ejyj<8wQYCaRoHuSdHLi@Wv2hC-+k2rYm@RQ-|$jxl3Elryx29= z_l8o1+*EtwKV9{%=oSCgocOm_{Mpx%e|C&)d-ZkoH_hk&Y~$bN{}8rxFFr^9fqWrx zI&m}TPPi797Q(onSmDYJ8=-&Ucejr&OJ54`S{dyi^w$a&XOV)Rvqg=?o5vpE;g;Xz z?}Sg5C(54`GD3Cqu4#%5*0Uytg5Xd-1FA=}^ctV#Yix~;pTHNq-Wq>B!~ex~>0B;- z-Cyv0@wee!Wbb>Blfy?IY@T0~dA`26fdB0xFRb$Xst|vU#?SwqK1v?PSb?g~GH?+T zRPuCzj4mQ}Pa_hTWF+3B2i*ymg(2v#&Ss6gkv)K2T|%Dg0-=uzr;!m+_y;*18X4uZ z01}WEzNuJA%gKm&BTOq~pa`eGq;h>^ z6{s4EFu{DU>?`57=3rDD{ zasA%TCVxnXE?G?T>X6-`wR^YqRc0VM-Ri@g-PM07gzGtG%>F-nyFXrMx#6QY3okJQ ztNu7fM$s*iQA{{Uu>fo^E~4Sci7JiQ(&ElhWxP>!2FySmh*wUMUk}RuY-8iU&1@e| zIHv~Nt}`{yR6L9Fe9{rb^~PXh9BdDK)U{fiC6qvK}hsjHnqp$P7sjl)vUP zjj%DhqdB=Ec2`b)18$jSXGFu$dE4;)-uie+4wXohgYkv&hhHCS4BjY8;Oa%evf6x<1qF_ z^4wZ^vG4fZT4r{~_?}!T@`xAiA!DjRrO@sjz4NHGR4J_-3c*m^`uZzfVk_?j9P}10@{X^7h+ilgYXB`%b;)<7?@2*JRc{bb+3sJ5+rNCGc*h;Z6JL8z=ce0l>ahB1 z|9eCKP1@+_%;6y{;O_Cdb>J;+z&!5wFkJ|Fk| z#ssOvMM9B;VwqyGqguCL0T5en1bNbc-{k8)pB`57Lrd@lYnZPL)4U%ErKK~soLMRf z8*iVO`1bV8eX$7BJ=qK`wvdiNpN>Y_lWj z-C`yx6>D`bT}hhhoe@=)uxhz`*6PGCq}ssLbEz@%Om=E{X;-@?9Ni;uU>EsT(A+k6 z2dDC~WKCsDPZn%K6j{uiPX|+}!ll}Rqx)G%+=ewE;=)c$Xn|~hp*LG(>^)^ukk~LC zX4NpZj&3Iqv1Zf^0XwF>HQfeeAJ4)i00aC7$aZ4brsv6`@rA8!?$wYNcmb2wcqHjE zccv!OrXCit4h@lVV6}*{EaoKHka;6%m%9o88|K<5rGz4xRPCuTA?v1ED&O7W0RN_3 zMxtl*41zhb;;bZV6XV4|CuC6*O-gAe8}`bV1L;`l>1bK%c37G)#qHQ&ClWSLRy(93b(FDw?4!Yi zJ?rRTteK1S87!S5dfCtxsj_{oc63l}r9yz_j%Z;_qa=PnAet`8~LP0ov?t^vBm5%*&1m%OVoMF{@u3rNyB~o&zu(2lK;4 zdwB*S&|P! zv@C9^GpMszBxnWD&RJa4*0iF(OR2hHO6?lmsZrH8a<*s|!hEA$wP7pIugxa4Wbwwu zWRBQ!Iu9*88drF`X}=(c=+`oP(-LR~LrS+ILnKqNKU1QP3OyKTs$&4Oil1^e9QH zjPXi@E;?>f=hUR*EK-;w@|uL4*Hn->$u$j1Bok%`0u?#aBg8W~k;(!Q+4$2RL67`+ z;tn=8>Bsak@u(LIzGIQGNK+4uqJ>Rb9JWAWW6>n^b2F-o9){MoI&72{41^K=DvOxI zl6!tT&oe?qc@gX2DST4%e0QvzpKyIoO>IuToRfw$dilFE@%H?(V!Ra!gqNNapaGK>> zAYh0l2@=N>-Bwgyq{%feU9|+amhsk-6!}FBQzJxHC5`Y}ItVzTyr2%vT|cX4W}_+g ze^#3!FKAPEKQQn1a+{(*r%hdvsdt8xRTprrM1QJj>CMd6mL*t(^G*56c13?~v%0d& zeMv$7Be=I5ePIJjXE)myCy8(m1@4N*CCES3wkYE}|5Nf|R-r0ESo|PdHB*vk7GTAr z;PQZeG$4cFrc>mrk|^G7so8418#+C2?bfs>sdmPG=|^7r(i2v#rf=W);Wana#@24F zlHZ^vzkXt{l5;9K#k_SbyUVu>r!$OBycAZKba}Y()K|{Ax2}~B#XLDY=(*2=oKLX) zg{#2+yAiV!I+28wh?n2cf*Z(=c==s!43SFl@*5c&kyY{XJ8~GXZb(5i#l(dRByr(&4?g%m9(srzzVo|x-SwS?8+Pxy@y1=dV?FXM=mQ@C z(~A$Ii8&D+_t)_J{AOq zE*5B4XeNo4*|V+vo+mf{%oIq}bX=e1Vn0U{@NCt@DR`<6CLT|`CGp&z{FXoqv{d%zyuQ$RW3p;s)G9!#;yFZM_cJQvTsrt|UJqkWz?lN|aLHuILMlk^oOI^qlY48oz23#Y^ zr0zM+!88GlYAZ@nk&B9AD~6OVl+%_~^s9w|DJgC>azsG-A_-D^8mjE1A_p+4Fs)0f zVWl@d>t;RKQq7|5N&a-cnB@aO?hVIvN9RO|SM;`^3g~av+nNJkT1UrlPyK*Bvr^i9 zM$FgBii5|O6+FHp7wdX=e7Zb-RLlpF%uSPP9RqNvBE7D7$aAOREKS*Df0(-#5kbkw z-mqlngHFF{$r7AtxmYKzO?eXsoX2*`X81rZiY&#}-k2)owht;G@j|MmzYgc66a`6y z=3NvO5hk!F6xr-6e|;g}%-ps&mFg@vPvjhn{n?p=Z<<)CJ_(A`_r_o7H>sf|b17De z)v>`e{CJ>f4Uqu@wA-{^yy;WFO}QfwKbBiRI2bd((XUl z*(a(xnamkM)-E=^QgQ8;wcC*?vho5QwDdD{5Tkmolt%+x{lTb+W;CJ>fb$)6HWkc( zJmu%}{>J<8lQd;AX2?P4W@)+a$ujUAY*?Q`r&p!((8$XiKB@Vi8Ih6&nNCq+|MHX{R)~- zqpt|RD)ly+f|&KnK4%DgcDfOcf?Fi&fJ8-dvY1pFhu(%92B}3e#DjN%z-}-}HR?BT z^>Bqq5hI%paa6$~*0ehs#O_Ulr`UEA7DMBBo#7WUgK!{x=q)JGg3Uk*l5ohMr zLw@dw_QsEv&dvYv($2-lmUk~rMLQ#jSU#wXnVsu9#_}0L%bAtxHr6&IXd9n~wvom< zd9@JbM?)N;cP6RWXhh?3BqOwfcwC7kRX$4udn~(9n}1;6!v_z&cs)wXh9unQ^k-+g z-C56+bSE%0*~mIZrXPIp1V(6J6{!5RhX}>96osP@S%f(;rc3{j52YY zD70F-OfDpnaAw)W$;3UNHxT!Pn~d>|-e}k$@V%(pABLJMi+C*|~ zG`g@<;<7M9@|;Ow&0x#W1Y@vcc|zB3BRdS96Rcd1=8KUbaQq|WEGKI!Nor=nmejN< zYo@MX^(3t0EIT%5n~Ka!PS#KZJ82-d4M~=CQQ){w6!Wx~vtTdA4zkUL9UJ7jm8)-F zg&hcdb=&pr^;#Oay*55V$a|^o(!%msL+7QQ13MA*z(!6e$~ozzkeSK^GUbg*Z7vs0 z6f&;Cao%{b82R#tYU}MAR;ys&D*EcpSFhM2cR3el)0W9?wPotam|eg`n9!n~70ihm z86)>mP5zNVw56v+j?nu-DCU=4ek5s9y2hR5b|IYEzPJZXz?~dccH@DFM8Dvwu@%NN@X%c&R;nF~y|IFC4UC1x!7V#=@JXC z;u#H`GG5{}o)=a5QFap!krZ@mPtZADMe{Aq(_Ewlj-XK0RE&t19f3170U9I6ha%`t zK(;m*iF~RfP!22^J2JqWYe+n=tS0MIP(B&P3i>v+25HjlYMJR1{UgQ&n&r z3rfhiab4Mz`?`A9 zM7CB*MWb<*I2Y~|vnlI<24yfAdri5~=Z8|IDaRQB!_Kli?23L=X+n#LlL)}PBo|ci z!(S2{lJJfD;4UD;39|a7Wc?A|S6l!}U>Az-|ehLBXMSPF1U%}2zdjCSbEJciUu_DzOX%Ayi>|nu_ULPya zSIU!^B*Ds=;fg~L%#FYgvIO%A(5)6R-Wp74-f9wN_Ltr=DT&-cj++lib(NrFZAs4$W<IhU3<$|P2eTqCI>W9m zyP=}&zSG5S3C)&j*&;`G%HyE61GOX>lJT++YS3Nsgc}!SLVRLhH3VU=7t%RN_}kXP zy@%HaGM`*aB}1~XURB)IwaLf>$=qEnO{?WnK~<{c(d?beC9k(LD}!Boe7n~JJ>gi} z(y6o_3UaO78OtRNaqeAqpozCwhU85fhJUcPE)y!HGUFk+BYAH2@O^DFTWr%n%^rk@29$<04qo3-owJUa&Muo=Humf-sTEErf4=*-$PEqdg;=&p7%*o{wyKhzmT@y|& zorGUv^w$fgcv@aT*$1?Ycg;y~ig#3vHJmq-jku|AAO zYLzlI3yKh%2CCSqSjUl6Hs;FW^YTQ%ibt$savixoaI-;uz{odT#>koPJ^eNJ+!23Y=> zZYdmSRGIVbLaLzb&T#o%0brs!pA0Gu|CWjFF}`4&qho|l5RXy?@tP}3zXjGfCLqZ2ewpef50~~^L=r@H@}PO<0CcJAA4O+-}acN)Rl4_8I zE@9+?w9r`zE9+vXT6DJc)z#}%QFCrEa?t4jW#~F5p(2;XY&n~uKAf)2zlf>=uL-+3 z4c4WFa-PbXuuoQf8)1ubl?dko=WY2{jt5LbOFF`}J3tq4(i7xIH{KysqTM&yWv6 zza0k~Xcy)bm79lirrdQf|Fbko-)Hi*QfzNfYx(chH86ngpzi!Y% zj;Q1IM8lWEcA=4LRGRxIyH-&$cG}(>bU~ZH-Snne&QWCkFrRMZc5fS$N@F%n&OG-X z&v3n$(qeUax)CjQD(Oa1K9On~M!{S%wIgy--ystJ4f%;YY#eM{aK<9jZEUOeCmPAw zCKlP_E?&I&Bl-k+Ggwe<#^?=ZQJa-7gU2MsKKX6|Y)9;@oi2+|*+nZBoC2}8eDS7B6vLp(Wbf4k=4xS+Z&iQ#ymz>X8GQF3Rtfy6( zz7+b1CAx(B#di{(=x^l&MOv8ioQDL@_~OKPnG;EptBFX|_`t(h6o+ho2}dS*z*dA; zf**K1sC_VR07L9&;o3YYmjQ zh8dM%%ERNt+t65~h$@gMf`#BO6QNfJSc32b$91p*L8${$-0SzG3CcWjO~U;27=sP} z$f*yvvfscuT5PNXL}#mBZVG+o=SSM^P$b`Xb=}=qa5dd|y9rkPf)xamYwyU)0N{yG zkpxcU;*ubmyt<@>vMJf3%qc_CE(Lbw#G?FE) z5f)0ED}sUtF$CDzET=7{V5T%jQTTL0NM}R|~{wEp-ag-bp$QkGzlDEf@WXDlD zol?`o%y5cPvgSf$TVA)5rjfUI8tJilLF5Ag)DBuOsWNi?{}`SjTovfiB-oO0AD3w; zgqy)q%dBqa;L8V&PbJ|^N@VR7>q~dk`zKOHb@)p}eo?P%Ct9i9F8n@3u2`CAsmt$x0>pO2T=*?|}fGmi1$zC{qfzSOp73w8ibWt*_s@>*zEm{KFg)x+{a8)fwhiPuD?DEzQESgQfXB^z9W zN4P@K8PZv%5o|kbNHeejtjk^!4yffNwj($S+gBsRWLG$n2||?ZD{cl@i9K!+(h9|5 z4HY(u3A>~hxC*VnyUeZXGsR@VC_Zdtjg9Yme3lEU=@O;2oNOSOGS4+?0=JE;LKCRL z{~%dZLT(?IROk6I`9m4S!8#j+Se9*M7KmF_kQ{iJ$%)Lhv~y^wN7$nN{X4}7)7RNK`c-%li{<}r5VoW zf(Pl{Cumm4(rY-2+RM}-qN<68M~F-63Qw|xleRCqie4W(;7|{A#VxnemF;v~Hv%N} z$M9R810zk>>12~0oTk&0RkJ~B4O%3!AOkq!CdOckLm&ZV8EpSmEXE-yG|B4}OjshT zmg$f>+M%01rxZwlVPXZVi4a!O&tj2>BVy2D41O(!hB0t{L;;Ezv_7f`7+y*|yzCks zkc7fJrXZYLu`KCRIBL+_?hAtH@Vh+$v+u3sr}{WM=kqw%>ByR-=_B9UH(q)A%p>?F zdu&NiZ26s8LwEH1tFo;K(*Ip%^HS0z%qz25g%f5}Q-V*k?a#;CzA|xTE!SkCGh#r! zGJ0bO4OV0d5JVbggn}j5Xfn5;6bD(BP^eA91;=Tld9Va$$W~{0CDH*M1m!%0ZVL)8!f@qH@R=Gh#|*B({w*8oFyv%~R;rJ@?7O3kZ6lK+8a zAAGIj6wIkk)07*-(%c(l{iVN5#6I(3{TsBoSHmylU!REUs0y{dFvOg7sWKuQ5H{H% z8lz+f&==6V1bSiPxsB(@>LY{S*a>hscXhwAz3*-Ob7gU{(k%B1Z!?4OCk`BVV!Tb- zZ+S0y>yHOt{p#SW7xo0RJe}x7wI#l?}l;S5>k+E`>1DYz`?-lBxmuB@sf`BJVd%n9w>##c9gh}UAgpCnS#6)aCU zuXwwHK%cjJ<8J7r?kCTT=QjQea?FulZhYhY@{1)w6$QbyLCm@Qy+ZD$Txb;R){?QR z*>?dZzxW>)FM=KNDzHM9L5KfZ;#p+09Wt_VjGo8Rsn|E$SdIpnx%vZ8&p50X7qyDJ zpM|`agMPhI7bA4pW3j3-hT9L=Fh+OuHBUku*=b<#G<*pR`ShZgBCF99F(j!T$Bkg# z5E?fu1T)Hu%wK56SRa!B^MrA24#Gh_1{EX!$M8P^WHl(LRZSFwq)NPTN~f|xnoEU2 zN<<7Z7I1tfbjgV@$x+|4z}j{`rE(q6uaQctC8{|ZE!C*zVd6=TYA#H|+{DFFQdT^* z5-OZT5ncg0l&p|63UUzfRG?;{^O~jPd0#MiMc{nP)w*xoLCL;nhk__BeQG!9JvF0( z@?Qh6==JJ?6sCBI{)=jBl&1I-` zrg$?a}q!5V*L?b8%0*>Rah&im_h~&>0twsPYRhV2X~zeVz6ro=gENy})U12UQ})+7qphnmE| zLSmkg}(M;Z)f z{OLq6ElyHyN}2`%ox|Kny-UbmnF<93P0nd)igMH9v|{I`18E@0tO_=_h=U-CaRej0 zSk^Qda1<+DYYE}vk1qZ>*xjE`7_6FEKXC}G54b@rWuuIa6OXZ#gecMTL>!9DIf%Kj zSUeK%Cq6xR+QZ&pE1?GTW>)2p9^CWQHBqqTmET&H9R9ZJZb(tbpyBajDsQ}A(K+?d zQI|6v8l3wjSyvQY*<;(g+U;GoO{iHbm%w5muh_8%ww0FVCDGcrIrp2_snGb2y)(@@ zhQR4Amww9;Rp-^Szurb_+r9YlB^7Stp4Q}KYY+Y^wM&j&?2P!W5(ZrJ{RtVYloX5m z?_hkr=f`zr!r`cb`B3VxIx@rV=({%hj+pBxUO~d|50vYBf}Oe4Be_(mw%dJ8Hodkx z_;EJ9XE&hbTx$1jcg#;I@b!{xn(T&|`~2MLR4Qe`*JCNGeHz~b{CJ(|DDX3Bw@;7o z;P=Sq$*&~rL;|F=@yN4BB5H)D{Qmb#(2PY1B&m=A zxw9sgEP7v`{%}TZ081&95PThD;k#%u;TF?!#S#>_Gaf+DSu{|xSlp4~p1AisFTCb%H z2PUc1ty$Ci HZAwf6P^5f8a&_3@dSsnqT1-JBTVoJs^Vbw6PdMxs)T+X@u|Kev( zI98K#(w_fCO^_2ke`sxFkYcb zB2hKjKvl>!Y5a^ZK2`*)hC|~e9FYCuc)tYi***8qD)PSBnOjcp1sVA6y>h<4Zy`JB zq`PnWTE8Srz*-xB%pZPa_v+1=kgqPE?cMp#PnCCcni+Nc(+}zkTWl-5cUYGpK?Z0) zf@}k=z=#a69gOlh#X()%v=lE<7B7Q$ zwIYrZF$QsHk1vw_VIwMcI=kA(%FWiEcBfn!?^i0*)7cTH$sbQw%FSlE(jTvsJ1}E3 z#&wb2OCAMTcPepf;=#nL5>JCH842qJ5)a0sCa%O|I&oo66LX-j++d!txibX%)&OOQ zgoC{z^To=@fdbNg$m(-!Ds$8YjS=%7Lu|t>IhImznfD%MzP&9-5_;n*=nbxh5w zBA-=L?2yNja2NqT*jVGmpCn#MUquYCLpq7866X>xPW%#995*T2@(dLLPGUu%7RgpX$shg7T``TRpGRn;uz|?;3nt*PKm6i zijt6Z$3#y58_VHL!JE@0N-Z`IKFy^0%F|E+|y?I9}s) zFmK@}K-ctJ*92bMZeg()%~odM2giGTj?+SPtP3TH$n>wZ$TO0fshHPlk7}Z3)jSVi za(XP~2a#5Z%${qyo?&RRSP(VIEDPL?miL5QaSL`y7Pv9RT7|D0)&ngv$7E9qP2Dv# zz`|l)+{*9Fqc7VjaZ-a+qOL`vc4UzmQYnxXxVz*+g&1OTRJRO=BwnR(AU$fQtOr+W2~1qN+4e*^dlz1i=Uwr6P>(+ zyc-ZreaQHUqd`n1A+e%-%xjFFELkHEqgIY!fK***MRh5rKZ9?J_{d4t>9yGa(y+`N zqb;cg_Gj1@(OSdQ1%B9RcNvrz`PJbtaR5iXfn}~>_wCqIjrKn*!4r}O5!16VGeDa$ zf5*`z;m~LPgLoD3vSdkB(469tBj-DP^7nQ4q|UlBMWit7R2RbxKvO zpxIz=6*U8N&9|tVu{1FDXf2iT2~8`cJf2Q-R43U2;B#V+z!y3n0RGFGeqNs=iJw+_WM#VoaYLa3lON1md0&&v$ zmPC}87}$2);LX3yd>Z^!{WepkqCgb$kqW18T!WS zMLTj-L2|^h2>X<5PT(;(i*w|(Cvrq|bqB5k*)|HNYX{>(LhuEqG$su z5&mvbG(Da;Z?wWHdJq zAXv*fHQlEUSlz@DgnUtw3Ko$vuANu0v?#BcNNa*Nyy3X;Aa&$t1}H4s9$b}g;J}?) zGE~5maz+zH`aw-4f*aTx4_HBk^R!fe*}kChT-KFSuFS&|)ofm}P1wc?1D-mjg*?E&(Hw+7wWa;t~Kd6#0=OxYAJPIUVkcu0eawz`8u(ZMfx}q`@t5 zWlbbb%moUrntpSG}w!+luLtotNDRo{_HC(;FA? zlg$2O;E1wPPelzy7VLS`^9{pSt#`5cVvw`9ERZeL|2@yRm|(kt&tg4&F~Rl&p9!Aj znLZCTb~2Fz`(%G2f$?$6LL3m-=*C6fhm~PhYy?<=w8`~ZycZ@K0BRaCAQ1Q+Sf3^B zM*vN~R)|bY@1@k_IFUP~D!sDy%!{3mWzMXZL@U%K47lQ=tMyVnMXaNQGknvxkJSe$ z^@&v}SzWC||J5`@RiK%JvX;1RDwq_=uNMl>|He?ae1%h~S_$>!OyN&$XmGx*su?FW zUR}?J1#aYDffn$2W|x#PW(q5*;NxTQ=>2wwnN%#XvI5c&JJ()YUSEIB(tlrl=<30Bi)V-VY0b$V=`7y9Jr%fD zZT!`>n><8u?y`{x5;d&UQ{80g!Tg;~`s|uhZ$w*D=6m%S(&PXGX41t@83e#zYU%b-vQ$f=;P=BkPsIVR6@ zUQraMZk@D(Cau(XJ)qiHN|nqA`mVs2ubQ+>qvY5b$DrR%Ix;*wRp#xa<0OB3qu-rt z6+&_*EEG0=T;1n+vLzA_o ze0^k-e2zTL_#=Giua!QIrB4zE3?r=83*UY6)KjhNzWIB<=Q@^q?X~xk;u}8l$RE%I zcZ_a)^d{JcdhsV0zeg`zVYf~v+KGN*4)a-RSWbGxQm|QhM?m%3UT9|+eb=eBR({`B@U@Fph>IkjW_Hy*lcHWP{D6WPGx0T2!A($YG{%hZ`)ov)6kOhp{Zu79Pcl%KUm|^INbB(SHMa{-_ROH7xhcb zM}lED*kkitTvKJ_ImvUZ(6uOa;gW{cQPiM>w2$>TC>F2}dH(5*kDcDji9zIZe5)XN zpm%hsl+2WQ-Yo6SjE^NFnX_EpDId7HJhSmPhHIK`#Abj}uuW_emvo=Bylo&`!-u_exKF6Wj{Z5s|UKL8x;8DG3%XQ^vhRjMa@OWUuA zX%?Xug|KSgxxb~(aFIpwf>|VKg;_zyH_4<|7>xOW@ zpgn(u{1xLVO(m*{sl@LjzMS}W;%{O1%Opa3e6J1{>yKRV)-|YZ6 z#YoE*qxr>lgJnrV96ga@ziPcN`Q^R{#u=!@_GY|Vw~mPwacDIFVipWWyUQGtT{s#( z+8e{VXf%ca?hL0TzZQ=riE)4w#UixmaO`Mc z?QuF0m{XFccPOU9gH5l%w_?64lf4x{w<>x%pdCSkbI@#z+JVldQr#3yMV2(dG*wB* zA{aVgqtw}4)=GyG05-|ie2LHKXt8RhM8_1_2UA&>c^qspc%ex!dzx@M0D7>dJzfzN zQIcfomu(NujTqJ;3E-oU&bFzK-hDVHK@sHRNFU+_R#Q^JRy{P5RsRBV_VuhEn~6Nj zxbmZlBY;_1Sthl17gKT@X#Dj{z5d|jwu3j3U6pC_A+Af*V@HbV>$aWTvy(i?k=Gr% z_f=Psw<*n9bw=5EQF*3y8zHx!w&iP~4~3v}Cm6RX<21xFX)zlJ($un$x-N@>;TlZ6hs)C@(mc;Y2&e&?{!N&G${!lRGL%hn*W8C=~ zC#b@uDe~--w;p@hbR4Gw1{8p22_Cz^;-Plm(LJ+L`;=^m3mi8kIS&XL$1Sp-m$1hL z#%&ZNGU&x5nEZ)%1OBlLRQx+)KS(KHOUZ@R3(tMv!kKg$ztXGejqi{P7gz%Jh4h6B ztM7u()%5Ba@&TB+8MphFaGW=STwcU@mthyvmjkiD3gcml6AG|V#-Fswz6kfyC!^&v zWZ1Up6a7(rclzWZLdTktR{98urRb#t9&VM6u{)ijG3+_~`|VAv{elR0JV84XwO%(9TgT+IL`04dtbTrpc5N#KTd#}h`0T&swTO!Pd zSKF6-m}HI#Uuq$hsYL=Y0GXP_IvlWqD79f(8zx#3F2|U6m>X0?sWm~x3ECDb6I{Ct zO__y`w#sexJwYq22~wXB+DI!tLEsDK*Bh-qb8%E!J+x$4rUuMuwb8}UWB>g|8JhA8 zY1OfKbEAi4tI9q64YTX`gSBj zAvYr2tNiqLr61=3qkFeJiu=Zd;WB0${p?NHckCSLvynY^z;Ez;$n$StpYLjt|HB`n z8KUfe;pX^z!~{e~Y|kkfGiGf5+`lG9k6|a4B#usWlj&5d zJITwUYjGl+Xm0ZjwzyymAsEs;?_zjvT2^ygRxtg-SP)K4g~3?C|0dt#xE>#WzGB-U zb^ps^2cRRm z>v;O|;RxHII65axSEO{4FPkTaw(%eod8FuX}ku{WQGO?41V_ zvdwXrE{Cy5+?mY<{L}E>8+ips5%y=JD7#-!oPw9&F8<@iACUixd?cX&t{-Cv2pxD} z&H^kP4uk=AUvZNy3bCTd1{q1qx-;Lmlv>67R4dyKeDVrW$UO3iN9J!_=*=i#&X~>t zOD5M@{rsJlVpeLkeEWFd|Dvk2=T5)!m8TbOoKFcNmra&>mdx_?zex9jEWRW0;>2T{ z+@*amq#0o=OOruB1N|}>ITTo=Je$X&{+k>QLJT`yR?5ia7%`F*u=F&R!^%iYV3#nD z;#lEuAYO_h>y0Q65$)1}`z!bB`u)G+3Sgu;kKdr_{bTK2b9mo-%LkVwO>#NQ(r?P~ zeC{S$(>2aDHCWJ71wpIN7H>PEYpb^{IlQWU$~PrdQqA`XipXP4akAd-Kkz~RErh&< z|KJ1twg#wWx_#5zjh9pYR%7RlvperAikd3q&M)t}J9Q1Gn6j^Cin1bG`6noSB5#SZ zq~}7_*IoXa)IGbF&gTSG6NA;OrcXTX-OAIK%j@^;XiWn+`VB*s080C1UQ`5?)iaOn z%cmK?TNxQd^EA3leJa&szxA*`#GxL5(|xkj%bFtDdH(E$S6y@Uww3x_2M-Q=byDjl zdk@ScO!^1c05e&Y1jTotUogf%ikmdy~COkrhUUSMiSy?!Mq zZ;sps%ye%JTiq;)`H0YEJjpWSpz%#{AQbEgBOOt0Di@W!cb1}!k42?YL=H!#hjN6- zW7&F770F_+86ngyWzrRqW{Bh*D(xV|uaz{7N=CmpG3}QRUEa3z~^l?CKlI=M$~O3TkvDmJ8#;mVK;Z0on+iL4eGAqYH+G z{jSH7wHkHr|7Gn>z~s8BbJ4T+K4IypZIEn?OPml0fUN zwNJGyJKT5k?)Rjws#9m!b%wpyu-97u-#ll(<2{+BC5M@V?#yy%$w|*qvwzVnnCqAB zsw~%Zf>=N|x1V<)u--DeUuDgycu%2O7GiCl^*qb4mMUE_BS|6~ElRtW?P@nhn^`Sj zWcSv`USAZT10wSJ1ACS(i!2soS1zn>j-QdN)yVyNrOo=0HX$aWjCIN7?|<+6w!Th= zmu>yt#O1$m*=tF8>o2lL$uB;-_5DXt|06EsU&(m|1D3*_3?NCGOguJzKy3t+lWJ@q2##ta4Vd3gnZ8Zl#Q7)4?YB|;t^a12}m2-&_yiH=aQVI3L!K)g`AuZ9!RgeWe{JIEk)ZLVFs#A+H z$F&3P(xi~o=4NX|4a144i7(TAOl@dxW{^sSNaSzIqBvk`wEu0I1#W?ZC=+TJ*X&|S zJ*~bP7H6`?`ciLD1kWRzOUgT@hn{2aJ4okso~(p{@6J^j*9}Y4^>SmzGldXGlu)5? zzg`XfrK8L%mnv5&&sY8)M0-G5q$l|^f1P|1#>n1KN$SE`3_$>6 zx`*sOAe_No8A;;FP6n5cSnTK>#@r(kx0U9sl6A5`k(UxHE|+CAN2Zhv`=c7oQND7Z za!dq5f**84%Wx`(3lW9zzwbL*jyR*!GG<=5@-*TF8Z0Q*^$-^IINjK zOkFU{vN)00(&J*!Ece+l_=(ax8!}lhoFA9N)n({Cr(@`z_VQ>s-#n6tjzR``TH_$l z5RVo4X7IfwDMUAKZakkOJ3^X_CUS{(Wj%@<`MkwPIV7Ltx?S!fiIOC($YiDU_PyUNOE%jg)HwLu z3=7(Gt#1?p%|`oxRY8%5v3-}}L_vE2c9#|dcsC53c99zoRMR&ab`%QsdMpt#G)Ds$ zpNnrY(^kb)yjYl;$`+HTpsE&FR4K#YhU0iXMeK+`V^;2CG0!Bn9#(9-oPl+e=!7w~ z1zk9RGXpnQQ?s&dJDCZ)n=Tr9wr(MIBO-91-Qs(WBM=`hnMwkRXd15LYhbU~j^S8{ z*Qja;c}BMWTGf2p-ODs{j*tZPBzibkL{5|wvKk&Bq93@%S+RE&*I-Sc=7P6>-> zY`3eCffI6W+`OJ?oJTK?Y%P0p=$HmSs1way1OLbp({JQpV>+(uxJz)ostNblP;qL5 zApnUrYrwP9EzQ6>AY?Sr;b|IF*PMi#gqfTdG{+9hmTpF~l4nzc;|!5F4C~9_5A;73 z!Acm~j#hY@tELGJz{#IxW;>bk=G8b>=S4Y5CWR=4<(BDUf|VXxz9j)Pt2Bl)$LOIf z&coJ2Rj<>qN=yM_%?@H63{fK%gw}N=#xyB2I7Rpqs&ZS84N9wMdD^}i=|W|$*(!%* ziI=d8*>J-d)e<2*xPGD)HR2G%lG7n2&NMpfA+{Y{CS3imn1y1WLr?Fyv*1%K%m(vZ z5Z*5qOuT0fw~*QsL~6AdVqw3Br=H-k!vo`C(MjPvajHaE zhNG)*t;RM1LwJVH?g(|m>uvhF@chk!9#U`3ouxBagKWqDgd8+__#J}N3GjkGh?Ur9 zpHlvbd`@wcKT!T$`5x#OkBlewV4yBDP{+AQ9LRJsjH`<=8W_5wxCJHQSR8Ik3&Hc` zyl1|TcN}(mt&Z4^kMndCgIGYbM%t}866zHa`1%&Q=(S7A_hMkXLt$+duLeQ+R8U{S{e&OoOh0$pXogk!z z6l(BzRZUe*s=1CT9E+s0^D`+7O3kpDBzl#wm+)WJh^87QJbD;GzF|T8(BDE6p8p@+ zfB$~4a-7}J@7WG>|3OMpqE>bkj|iOSJ5qFr=@9!73%Vos1=55dS*;3V6g4bYLz)S! z@c=QPZDJ~|t}}~jSegkk6o#;&d6GZ`35z`!4kL!fbT*OuVCVu8q3R%01lDkC5u6%j z_VrX3LZ?TlP1OX>pXxlusVj89JYkqjIBu2emN0~=@<#AF%wGkuu(Sy(kCL@%)stcz z@8@&zUeRj)35X;7d;nTz~-K@4*NNphuDAP75u992Ric*`8=X{7VhYEzsREUul3op|*7X4$||& z{@>(%WQXi8=LA}4y2)HJWVn*!BbM9Ar)X3Q%U!zlMy*?^Ofzx`2idEGD6Bhj_HHL1)JRSlBKh&&b6 zW484un<|$(D!GqMSGH~k;cYA(JZ-x0Oij3fR5I1rVy8to!tGf*g{^C-^$gsBx!&o6 zONOE0%?44Y)hn|cYp(cgrLJ+zwLtz)a`p#jze0Wo?(t-fv*IEu5|}2^kwJtHNqU|m zWYtvi?##99OLvx?MypXTb}9)BDd&aF;>`Nw1osWos9ka4C8RcW{rtkwuyg8=KALZF zwQg1S6#a|WZkZ|WT$-_Mki!#bL!)i}m+;#|We?ire4K^|4^LWagJ<9YB>XeT5;0Cg z?u_B^1}o2m>SJQP&vBD_eYQ@k51MgWDZ|5B+_-2s*IK5w-L&j15MsG>ddGBBkE&DO zy-(C;>vd2X>GfbK?6&LJ6YKW6cwTRKQE6Edfo0oPGo#DRxz$%qRpF@V9na#b94H6S z{(q)6c(5Xx7*$EOnbNnNEjgDaOS;dkjq;?$?YzW(g!F&oq^x(n>Gbm-J^gRQAons= z0{-%vZkfJB;1S1E(EYGN2OXEBi?eHMvwx3oFIzd@?;l?|a?d^F?$d8Nefmv5t-jAB z34#|rgaTAIYYcN__&tL7APAyj6FRccQ;<+9SsAwiZ(Gk_IdN#xb@!LPqbxlegg`I7QS%AYBJqx`G#W002(vJ6t> z2suG+fvfu<`7QE$F@bfGJIi?@+xX%z(G2vOCJXg58H$xD;F!hA zh#W-yVTyagAF}ZvG0!kfmWQ&es4G*xv!Tob!%VWgFc|eC(o$gc5w?dQD*{YWzp|X{BGBRpakgZZ1*WNG2-yM-U4O_Veu3x+ z1X=>0W_byd4bhc>9pV~`$7m7DHMu8TGTs}4Sp9SWCdC-3m?tikIrOsHszQ?m#BPIM zf^*Vvrf;2rlb9yFljU8F;#v1=WC()9)cMv4DRmj9k1%tgOu+ybr080@kdvd7Hke_C zR;pRm_ANCLc&-{zOmNV_91GAa5Lt%N+bwc$^1}+a~c(*;ZVajDOMZnLaQ9C@ADDA2r2Fp5n?7&In-Q)Jk!XZK}S!k zU{Gj0N*FT@FJi97%dSm*)2GbR1UU_A988ktFMf;)GUE{tp3}Saf7T6zvjF?nQ@Ia5 zEV^3Y>sXmccMuM$$VDp%emJnRNjD*vYeYB%>|?MgXv#smV~DRJzOPkm82hcr_>7t& zz+9lxG&&V)#6rjh^hTId*D051byd_kB5(q9%$OjK1=`4(BnUvk-EhL^^z(3GD#l{K zRKov+wPE8-G6605ruX`6l~xw70)L|Ifk^`o1e$2HGci$0&_z>S6Fe8oprQ=!pJ`Li zQydV@)uk0ljbxm%&grYC;klsv) zQa_r88?OotuI~{F_7V}kl`*Efpk_e|g$(60*mJ~gXb4`dQC;S(fr%OH5~&-ToHj;ovKmlKnE1ktkVSNiOCx&Q+1Od%AerO>NFzNz?1}X z!cH)9tWVQLXsK+rI9PH<-6dsBLegpQYKt*NX_%(^jL6wWY4!x3fxxN40q$%>d^7bMv@I~ehtaujb6b|6m@oY`1c`v{hT zvr9dkK_M?cws^-E{`2Cnb zTeZR>8NQCF>o009OdmdQBV zz?vQAEOuD`5=)~7ZbDvcz9?BcbMnU=>$gtEc|Wila@GA{2Hc@$IA3kvRPUCnrU!;0 z56p>Zy3#Ba5yFun7AOpX$G0|bdh?r0N!)ET>Xl*z#E5BVx)vtQMh{s~RiT4_Q;KJw zZPQn_qvX#*0r>xXuIHKkpZ|}a^RpQm{-dXlHFjse0KUQ}l!CIL>{qUpH774d)OFNm z7(D<*u?(tj97T{izLze63X9R6#3JWm7uIGurvL_(Mwt7uPSSRsR@0Sf>Rn81AIUhA zki9bR*PtUsU!vcF)jZlxI~WhH18L5NTEo`n;=tSH)f z!4d2-EQgEP1|;82^5mXHnN*Ln0^}{{PsxK|r`8oEN^(RcFGrk%&YCCB z!I{bglDA!+9!x<69KOb5QDHs2d#W+n4VqbFnp|?hiyLYd4Z_>+3x{z=lQGqczx zrXV4oi^#=VxZ=Ed3?Y*qGl*avdsn(3q8pdL7?=LfYgfkGzEO_1zNqeNE)15It|=Y9 z_K&YAN7t0ET3A?k=fX8nS>fkuEQ?AT3mBQ3QC0cD*ai5v z2CWeai#yh!@%+Dq8?Jt)q24bHFS%s6bVz4lCt`-YTA2&GQg$mGWZ#RRXU-@W%9_kL z!wjcE8>tiWg7*$)OC^ZC$Gdq7Plk!p2ttBU%YmHmbJY&QAoMZ!`;xLfS16M2cvfYx zQYv-3#iX`2(_Ym}g{^O1Jk#n-6_N%{uUnx1<}WUg7yjXF2!cHBHcjthIObyCb^YvO z(Tzj(qqA!Zt&1-vADJ2oVIMRpONolcG__YAzQ?liw0(N^v*a`6DY%XZ*~diC6;U@B zMM2Ja5oF{un~%MlZ2n1OfL8qQFNu&YRkV z_AsM%uW~=;nW}xz1(J)7C76<(x&+g)MH5^-oby;DGbqrrR#S2}i}B}35)6(oq$j&a z&McNAV&%cUoD@0-seLh~P^dCg0BVeAC)~05TYf#3%)M#ur8jo5Uh=12#Do@4z3oq=)Q{^S!n=>rU?3zKL zTv;s4TrhLZW?`{XE_o)%R2QDa-;*;qKNPJjl0iQk^%GE#!82)Lti{eHiFGd&^KZQK z`qy}0MYwz=^KxR9Z zYySm03%cA@s>&=P1cc}Wp9}wUB$P^Xh$UpuVmaVwj_Ezhwnz85F@8=~oJ;w-_pZw; zwOii$)>~?o%RjZVQw`jO@f=@ZjPM!{c@I83gs*=-JfJx@}J`ZjibLSr&(!yzsK0`zEZ{~eQrK0@9x2HG^TIG z+aKhMX^utp!K|50{4%`7ar{R3SR8}5|H0G9F1+=o}+Vn@0qyc)?2rJc-Vo~ox|^W_vYlVwr6zaw%d+$ zr?G5ty8D%PzZ*33*|T3H-v_;+Dhb#DSf7u!pu`F9jyg?v$I-h^cN30&hYaOnuvRW5 zNI&Z`oa$K_VXQdq_hOkP+FkAsYb=vNXpS&3U^HSRdX$oxv{FspGIQ%}y)(J<;K7}f z-M=%CN8N6roU0;+zE!8`o1uc@S_JMLFG|7y8zSFG%7sdc*rf9cmU z>-I0zCiZJ;98?jIAEdQeh%5C?#?;6wnFi;D9FJVtq?@FnFv&iE)`+YmX(tmhAvu%q zGD&|VKS$$l_#%x)gEY3DKJ)nFXF&48+vd|x!2&F9Za&p$Jk>aJ>eQLX8)x9-)Tvx9 zC?on1xd8Ove&rIdEhPgI;#~DJ#F(g&?J2JTM%G4oF)POPJLB|Bkw^9^7^(FR^R<>t z`Qz%bsy4CP*xl~jrdmsJXk>A_RIp5DCl)v#kH6prkKcP=RN~pN(&-wiU+}P8kxmJr zGv@e{mILOKU@6Dl6Tpa_&>jHWieKARpdBo|Nprmnc^$CzYF( zyTGG+wemXUQRP1=k14;TJOOuTC#hlStD0soP`fMZ+Ng;Wh6`%9re^U1A$h!DFa~&2 zx6!qq^O^qtw0=8JW4L^b@-WDv*yfZ9Gl**e<%Sy;JgRZaiA<_RVaX<7%(W6`mEr&l zS+b+C_xJZUruLpZxp!*oul$1l?7w6GTWdh`tiOL<7?-}6e1cG6z`2A(^DLV)K{Vg; zk+MOxO~(-M*!9d;orzLPiR!0QMW*lC`q8C>UT<*e-n~mpdp|B4y*%^%EXd#Q|KD1( zzZ*0f{uDfD^PDa)KpS9=R!M0oi^>jVk8*{gWO*%0M*4#mD0ePKNjJ+G#Ydnbf*M0+ z+@zJiGR!`1B0D$|qz$@*Q8x#Gl9f{!(E^|Jho~^>wXJ{r@;lyf>V?w>cO*pjUy;3L zVs$!wzb8 zA?gv9(8)X;iD5QC+Ru(y$oUWQ9MC*~4?UgkqU&0JgbDdrv57SiaGPXt1eo-*L|~HD zL~{XD9pYqk$!msHmlBpvH$K;ixkfw~oNVFbrK>bD3^KRF49o)O0hq3z(Lo`pRplu!tsoxCEZCl~@ zz`yx8+%I>0w{i>v67&PA+;P!Gci?MFIq_py`q?}0+Q%CN<|H#zMm+c_+ zxjmDEJ>{@m4y(3N-i0zB?3J@%ue@fAPlbMYyNpDBORZkM5YLGZl?T|#!gyAmu zJ^y;LIwCWxu(UA&OJ6)r;P~TXe(ArUXUH#t6u(%xLwT+8i^?aIKUDrkISa~;=NWwx zu|QG)NFL9AZ+U4PW$cbgCS-=~Soh)VT#YYr%!1(}jieJc$YWMA7{&9HJBb3pa~z7K znXC+O6yakZNtC}#;`(-RzC~uN;1LNHQ-JtJi?7>RLg!z_?3nJdq-GuMMEkcdd6~N% zZ9DulTpDII7zC^*QhXAy0?wHy>DQW>rPVe^c)+JM6}1uA_2wlJN5kqS8FEimhM}E#HtzS2P47Cj@y6l zOffYzqCpSby$?x^OU>?EtjKQ`N|EUZ;XA=Z6a_{pZo0%(@rh5BNKkat&;TED`fu4p zB3#4MyoAcoE4AIpc7V`h4&p=8ZY86Yc*Wh1 z0VNWLj5QY*+Zsl82x#*R4yw-ifo_tt%vh&q7-ndDrf&+&RUnzEAt1%pdq}J7=_KKn zi%Bt5RSjL$e6AtS^p70VC^?vg62*p5tzbAM7UDKPNi_~C3+!6o#bAp?z%0}WQmLp! za|lk8SQ@y<{Pk2vhG#@EB%FYW_YH8psj!)##Kq(bygtNKcmuQ-r>F?QK-YAp6D~3G z|K;qTgB|#|k||SQD=Tf6d2}EFKRm?y!X((Zi|P8{E_H(({)}sKZg_(tG!8<1C7kYJ zmT7=H{!WLP#ro-X_rUHX{Z6P`Cx;j9THL+$fkqJMCBt~#4X{J0zHsCsRdO{wZ#YzK zX4tJ&N7XYC23P)cU1P4Z^?@pRw^>Zqc8q53Fj^M3nYuV^$$f(*Px9LT`0SsM|AV|w z3E=FjaQ^c$A_MZd(`B9Es69+QIcYfTXxRv^AcAh+jX?Ab7l|P63~c*vT6#;njX4(a z-BfqY-~5e$s$2j4u^awH)$S*%r5p5t%i+dG+<3tWa)i{Kzr4&*eR8dv(0Q5#6H9e} zN>xWc_)bRn*5lMDM2Y%4TmJ*>%-x(BUz2|E*?&Fz-^drp2SER~C6+fv;xUUSkx04S zZS*GaL;A~f8@dMWxvWEzB3MtXZ` zYHI2sxI~>B+8e@p*iI|lb@^oBZMQRFMQ(pJt=H3gVXJ0v9XTq0xUoBiM3#-Ff?JifgHa_0Ps;gf3Ynm<>K z{qg52ta=Xr+m+|@zahw}kjOjzWq}Z^@@qaDHr)Qo$Nop>+={Uf#-lKIBL5tNSHDj+ zUJ0Hlb5&!_HyG8Ofupk;mMl?HP)*il8m$s$G2N&*h>OyKv8mT1K^ZLyrY&5czAHu*Hl&(s&;@1y>lMMzXzIk6MCEE z*3zDfCzhv5wxkV-Q+)M2r?G=X=EE_p;WK=P!%-)d=)QTaPG=0SlrNFZrv`@)5Af|{ zAc=GxZ0^b=b-=@Vsb&~<=#$GS(KMl(rrBuKo4)JmQx@qH*S*#@O~)}!d;7DIH-vA0 zz_?~bKYc$CmX{+m0+t_PsBF-GMfD8|$gs zqB|NQr50z)<7BHvqKy{Gn7IJO+&W>M0V)1&<k6`|sWR)|(IP%t*awe(So) zV#_w&UUU9W;@7>R^PwF#4lNOMeQ-7Q-nZ}Ox3-S7oo2agW)suxo~}BZm*2ki(E7og z^Xnu2?M=cZu!yj`oVf}XAlUJ zSL;q;>!Vk{{OYTB52oivAjKWakF0wlHw}XXnwpTGPN=G3a&F~w`54R3j7NgDg(Q;j zNFOJud7X?$)jLifN@MpivuVEl#FbYZPDAJJ@z~hppwHm93|_c`oE#pyR|`hDs%CsOVQDo^)+(epTi41H(|T(*S#V!@L18pMTj{5}2S$qNti6vuaduCl-q2-w!joyqo z6<}JgW3ENMpZ5)TD&He#6kSQcimuUYVx4xuLTxRu?(o?Bt6$=7y>$6v?o8i(-%0nB zF*tCbN&kxPxN}Xt`1J4b^;2)TX#R?gdFQh8Ie!t?M$yFiNtk>ah4QJ|TNl>$-+1He zZ)|+(1&1%X?IKctd*`M%-gMK!(Omr^^u2O?@v~?Dn0yZW+KVwKvYqm0g0CX4tHIlf zW3;nQH%NE9NMNypQMMGZ#u03yMiHaChC~Ayej?ol`Hbee^Sszs`f>gzK2ppLffK<1W92G1RDl9_LNZveUiLV2Q%P0(P*6LQlprl+?5Fx={g$>&qa|o*UZ;`B0?dPGRgSu7LJ7xiGOxy=1WAtF_0u^76%w7U1BFEJke$eIx&glnYD5_P&n z$ZTga5}xmZ6;BE?6NDIEGwXy%hHW}j;=zB0e42b7Mm=VBB8{<27HKD+)ZIYquQTRX zh37FQTZMO=3Pyfpa8KpV8F^q%=)bEPl>Q;t=XL(GLR_bdE4U~2bFowK53LAX{T{Ag zEBN)?=R1ThmUZ#rS+0NC(0^fuBP}K+p9cqx^S5(;i1VY|=6g7w)A%o6#rY)X?-u+* z&aZ{lBhGo3^AEsb?-iOH+h=85L?{hqSy?|1cN_GW$O*I;$sikM;~GaUnH9GA4ZGVq zT1tZcGI`@)gEs$YV=itb_4$0vd{*i{ zMftCo16@;NSx1WWcWXpuLUtu@6nd+O8zswAlbmRyhnm_YOF8r~7-5~6JV~_!)(P6e zE5nrmbU`$b$G)>I9IY64Lg*?qSl`~T7GWT^I zj3Y^gkz&C}4*_9Pgg8I}$>=gy5e8hq%dwD&NV6P*LqdPMgb31TX+d;Ek3VfS2YRU z3HDSJ71sy6vLiMMl-A~Kzv?@nhx5XA4Qxz-jAI(ZYIOF)OYG1N6%n<(qk(KE9ZZbh0{J$0TuU468+iZp9iy@=G`l(>^C> z^>kjC^6HqQBfdFR763Pj=EX?f04l32()$`Jf0&LmKb9ZZ#E&h>!1ZU*-MU(OX|zBs zpv%zBrx(a)_v_VLmQ73lEO;m4yEg|kCU5dWa^2Q%H~oux=54x_RuX>Q3S#tVagXHz2*-5&69o~K+o&K|o-xm|f7Mqa!9E|UI0 z*Fq#l=)?ItW>t(|+4!}+tPMwf4ky@81mYl$u@G6OJHZ7TuhrzY?zuh3Kau>~i+f-H z{4KY{ZuADO-pKe}l-_*H`TvN+*=>Z~xc&XV#13h@VG$O$ep$82<+^!)izr&Ko=8$hE}h!Z3LY(|Z?%m4Ojt*P2cj|S?M_l# zaSZz%mR|*TIvF%U0U&XmiNx*tnwBi+qb8#;es#n- z^C^o{N((X0Y;HXoL}4vt6pjpimw|Zon=$;Pp(3gjHJA<~G@pad>*x&SRmy9XH!1H@ zKA`*tu}B3hRP1D6IV{B*7g_h;y;=fpn;8AX*I)&P1>E@TC%!=4EN3H;{-hTu95iz> zz8yUs+iO@sn#p;U0q>r-eE#|j#5!-Ka?E$~B6hq6i7Eg~3uL^w)RO1`lEyR^omt64 zG3s%#f(_y%2YMvXH861tiQ7hlyjh&dK}+ZtHOzVkD`k#}*?HY=wr#&y^j> z9MaShX&iY`P$~M(WYgB?XLZ)^)6pvBJ9lwow9BxUhPFGk;QHkz2=^!mR5kEpJMfxi z&s&&s?ctJb>{>PW+D=YaS4scSEpNT`*0)}I{DI@gA9$sTRjbUL9)CvT&o6;6Hnb2d z0z;*o7(zpfi4gedgL*minhnotPg>v%^G=6=AkoZL+j8qoFDL+8K%~Fb!Z^y}*l-;%NEnME z-wc9U(Rb&%j=8#G>U%bXdci?PF1%1Zc!4T5_UPuys%3ZQT)$WgLd%c9QxgL8+XPMb-4rTV~HJTPK)vca(@tp-obou|SO+OqC??umXl_U=aEy>>B85 z8T4XOaY0jY#E~Wrm`lWArY(fe9ev_-n2No&E^R@vJ@4{Esdsjv4;!tsJZ(&3MU0E} zkOd0*4yd9I+92aZ({+;XA+dAAri3C#{wVZhkuVS}Ho5OG`!=CdR&fMiPbwxqDB4_JUKDqKrut4J%zc{YBSaw%g$E{VT}QK3H6*mHU)4%CC*9K1It# zBqf(ML9j9y)~y904gXzOc8i&Hv^yi|YemX2n;u5h21$`Wb6xAk2t(F{tCfWuxKP9B zb0?F9-r!iRoS+^VnrZqK zkmrw9Uv+KPDW{H!`JF<|OlH9uGH4GhvK5|`>WyZjX5ZN>mq-%*(C4YJYl+lX;92EHHsJuvmL_^OhtKaj{bA)Ck?9uhv&2+*4t#;w9Yt>P2LujO3~KO z;XApAE$=IM6O6=V+YXGj@Dr~FZ>k*zg2k1Ey_@9mb9>($mEN&Q=p}}c28|ilyLA;D zzrZQ+*jrpLx+_;5RdUX0P@n%QYt97Ka;jU6ni$GMo~snqtAXDv=wxJV>%lz;6B9yiC<(Hah1M=#7FK#yw$CI!O>bgiRRW z}&)Si+36}onJC2Cl^LONqW;}sH8N_c}^99J+wuW#d6DGC@I~sv; z%G1T&gkqW*LV_H21Y?JZj)0+>dN)x`UEm(!|8(o)`DWP8f8zFM=au@(UgaqGR7xm8 zY~)-%IDRk|C3$hqk(gUh5)eX$v1OnqiL+i!$XI&x+zKG+i=BgZ{*^nsQ)Nuz z;;*Wd2v3em zYAcC^sN(9EcqPBNI5BZ*ain(Rp&N9&i8JG*lWor(#T{)pdp5dc{sywaOB^tcx(Vb@^+$QMM99;!EU7#FnuaemI+$ zSeyvlDF-Yq-&@J1IR0F^9C)ox>P~xcchdD&;x1oV;FL#P4GDZY`p(Ym`eI8I0*%=! zSI+0v6>`RTQ#o{AwlUamj7Q5OoG?zKET_uacKZ>gX}Ld=QY(X-E%iLv1F6c-gWUFI8hgiuLISuWneAhNtlf*RvO|FZKvI`u01ooR5UY zjO7cWX}{U1+6JhaC3R1*1}0)T0QV;3NsFY!mp8a+eyL%&)C+ijn6t#XUn|qYxGr|a2wz5Gav`#Cp@xZAdI1oed zLZUKe&DH?MHVplK)*toZA-~8CscT1+mK>5vUTPJKkgd=YF^nnhMV@JU6%OtrtK9Xx zs2a4ZGqqYPPSf~IQXY1yMYRm0u2ioOC-ahKRoHjwOj9Gy`t?cDst=3;X$Ca#JQ7aO z$SZ255E>S2yM9U6NhRF@W{0L(Ex#I7Ciniz#c@0Sa29n`Y87H9wu;FOSuqP8&}$Jl zv_l0F8;{<1-#bcCj??~Ubd$UXMyn^8%l0crlou$k#Cdg`BFo^GByxuCxy4f&;tpV+ zM!p*fO@MbgPd^?btss~X;-B{in7on6ybKVJ$a-8I-%;2J6RI)np5e1~f-;mP&X^{4twrLQ@FxMjzm;tv;a0Rpk)S~5>s%yI%m~n3`#{Hz~B=!k2 zw5`yJSP+*whG%3(d~;eL#dMOYE_i#w55QR%jZQdN{%i98c3!pO8;E5&#I&w9lE88a zQB^_0Xv&K?4~@NX;gLlv!C5xp8g8HyR@Pk+_%~g4*-hN_!PJ*{gr6mMfDP`$eO*vi zk&8=I$dbHMGK*q4$_0gJIR7yRlrNSd9b$l(j}Y)FE8xfQ@vq6 z@Zzn{k%Me`NBP3h!bvAQ)V<(k&&Qn0vp<5d^;#HLr{rwaYm}c-KCFCR`MUBWu-%(v zl5|0|k81~({};6bKcRGhkK%FZKq4o0QRr`14GcQlMFXQ}i0Uu~JHk2<9IVihK=Q-x z9XUnYhB2J~LLMjQ`A>|0QdSJ6ZAmD6{&}E}SI7L@B`|~p)(-WvbTH}-MuK;qb1lz3 z7S@W<@)9N`_dL>TAq!nk#0h`SehEm3ZbH_;UuG21PoM|wlz%%2L3}bn0}hTU- z*=n8Ygn}PfER_*fh*IAZj%$w?XQ~i}pph%F1yI09z}~HYP)VDqK3KIrQ=v<%yJetZ zosmn~ZulnuJeAQlTS&l@!oT#ZupW*!LpPJH*oE6xlS>82Ybn z7$JCvCLJyYcJ5oQ2cecwbxxxQcSW^1l_rGJ>s7Ga$s~RLZ@>ar@l?G)Wi1QlOzZP!S4sLHBK8W0y zh$a6e5E7qO<}p7_BAbn=#Bw^X9GEhfcw_f!fvn#(5b@Zkik~HX8#3<=ALC zeff!--yQf@9d)#FNweFWbjsCvRn0P3QC6*Ev#J#Ia8ro3ZrF@R{rF9r%p#wyiz?owH8wb3&Ja}lii`65+!?bK*#;d#fdd8uQ*DzDG@CRNBUDQjTC9aT;! z_kgxVx$q9<{mMs`PbvRJ`KI!1IlCYWOvM;kvm-%4bC4i}s2npgjU>#}Fh|79p=98Y z?m5U!c~A36KE%zGFq+vpcQrpgFTCIxm%M0Pu7n-BNdDH5?4CI~=h6aUat}1ibHwrd z_-D|XMwpPFN@poQ_Zr=Xwd>|*vE0ceQB2-Dvoe~;7$&El6YrYPH87zzVlb#F)r{G} z@(iZ`8g?9SHbGzTiCuAmGsXG?9PE(^kmI^=oZg$cZt}DMZiT^hp%=IXswT?{scRyI zGb}G;u=rs^6fyx`kI9pQ(E0VgTdTPb+lTA1?f!+ zD=x#eY1PEC*5R56^XAfY#$`-5W;Sdqt;5x6)!4H3%?p(t)p)VObd`69x`_YI_6mtc z%}3JI28GNHrBNJ#=!xPujUo^`ag-eNO{QguwjO18e& ztk)+Pvm0(?g${kbs+B4fyuisNA#}SJhJ?fm%?9UiKuKqQq^kAf8wJ)v+}Sr9^Rjlkx>daG_r6Wt7x;>h~@FD|~cc*)DIn5JaUWAO*K*5b!Z z^2Ao-vdiA^;BOeKzQ1bJm7Mcb89{r`Q>MXQdQkb0@)_lG7|YC(d=i>V`h?t(1P?&M zn@KX5fvg?oBF(L;?r5w9b3zIUcrC-5nzr1>I@sNLE~`XF!vkS)7ZPIR4Yn{dF}Jjn zcqEBu{@>c{=B1W6kg^k5p^Wf^6?yPGHJP7(J9wb{j{JmMjFZdJXbI1CrQ!OQ-7lI|lHRD~4 z7QLRgg1|4;vQ|Roca)2Nk&+5Y%?Z007l~>Z#)R3>sMau>U}P2IqCGL=Hr>ok>w#;4 zfcIq+F-u!u={qfn~qYsiNVfp`7en14ck41Riqvf%uhfW^OwWP^d6^zcw z88KE5?6sySM>gwa7> zo;X{PletK_I_&pg0jnKc28X0eC_j_lpf{$K!em|8hM|!-8@k{c%lVe;^UM&-;#OG|znNj*sXj&$QA-4;tQA`dB_9PY=CetWg?? z82*n$w?E4I-P@y;C|F-#kGj{b2lMkm=aN!(PY#fsj3WU^H@03Sqdh z9z+F_vCU0F{^9r+L-0}J_s`5c{P0b)YY(3~b>_^O`|rQsw%hU?qO4LdG?^}9*zGiO zVX&!gl!p1jeqteEwMDq0(Kx0WE4Ttl3^jp-2+++0wbcyQ6S+kpj83r#QepL6CjBGcut(u|oxVh3_hRm~rNmb)O#RL3TP54y#(bgG5~t4A=YkQurOKcm^^ z^L-OR5)A|*{Vf%|Sjxd_u7 zTr@HI2=1{d^!og6SGT7;7YrSwYQf9A}neq#)1(e(G#Lh5Uo=6 zp@j(cOz#}|%&cT3p3bqiN4}Y(@-r(8jPYU<^q0e!6&pU2bFS>{Q{*?vQ_2F4lksdR zrqOOgXg!0=yNuX;I6H?HEcvuEYNr=gm-m8u9lLIvH5Z#1vAis+I_)E7wvTe-xX!am zm5@vP2rQkK1eL7W%&LAvgJGvtDmvny`|$gB!|$KNM;Wz(eipzRzCdX1U0y!j|JnXK zmtRfxUbJ-)`53JO{ue?wBFtjsBF?W!6N0ZHS7a=)5 zM@hFvk^Kv~y97oKVf@pT!3vg=!4MXM6`T}WmU~s0t6>pwcf1eSZb_bq*y-lw=O7uR zYY8ncs8SMSqeS|)tPgJG2!~*b&{eY0w}3O$=}ZqJ@_|AS6#bn$AKrN!tZt@r&2=o5 zHA1w(QPUcYBu#I}Z-`y4vh%hZtvyaDN@``xQYVryG0dGo$rUoUVR<^;?6B>V+b0ehhpD@T>%%B{+M%1aOvPUdf>%V6+wS?QGxv!o+X3y%^p&}0Is^uPvr zg6SB(B!T{~jeVqKOt2}FI{LD*OL|Z^W8mTB_!u1#^UG80TOVjP4cmm#6_*~ii-|MW zxqfczY*I@6N>t2BSpbU@n!-)7dag@cVfoesm@^riFjYyLL^QlP85Cvd~N6MtYVo^(4s3`iwPeh>|g3 z2a~1N!b0SFUVpYdHDxcGU$Wd+fL71+y~f15-j(y0T4z5?UJUoX3HL1q5u7L1j_-^5 z%zgR!iQbN03(U;X$>=6aP#wZfI|vDLZV2a2f+a>P{#y_Y-yGVL1W9_3@o zmx)4lfJ7K4p~zaroXKTOf+GJnXGyb#IPM_a*z?w(r(W;w6kwbOya~-5_{P zaX&9A2ld{Im#{{ypZh~H@IG2bi79_F>A~p74uyCQ-DV>5@TEV9{4c3Ll}c60Swboy zQ6fk}lnF*;1c+>##!Z^;b{lZO31f^0i~(bVX^cJXaZdxb`89TrX%FqOJ%H_3v(`TM zm8uZ-Z~mNm_3k_O-gEZZXQvhRx4z{Q(+(mnl)_~o9BCK6hFcrDgZ7#!ji`v}=!h%| z2S)*tR)Rs7yL4y*(t3)%Zm!rBS6GD!Ik*m?KX-vWa z!|WpS3k&dE4sFBI6dAa0o!64tZr!ryUrhd4j-(=NbB57Q{S_pPf_6znCWX!#j;LcH6C{kzf#o z3aMZg2NO~pKZYIZ(NUheS;fB>3v-2ig+~j&Qur1~N{n&Bkw2wbi1MM6<{pX^HG?{- zG28*1{b8QPJTp?h)g`)Xu#`l5QzcL2gy}FlG7>SIfb0!Bv$doYUbtS z=17IKt_E<7>DZ5qgPiBx5!$a>I8;A7LYBHHIbJf*U*WEC2GBk zvpvVoOr6FsMF(pz5ek^#@8sRGcIBr>D-p=$6-p$dZ-Ob z&<&|8!LXtxbuDUZ!qtkd0qU;n_;w)0)0hx~CiRkS5Zx+M4uU-J@>CzfkmSuwJ9sRK z=jN)FEBdsAxhlq2wz_dFKzpD`+G?)O;C)xX<~IXBLUtJ#rbP?!mY^@IL@YY>1R?)0 z1GCfyJHrY*vqCNEFkd$@jE7=IWTe%6^CcUtON<(~mNbNo;Dpsx4wg`t{RdF%fv3Ac zhjHp{dP3(97Y!*uL5DBst(pihj2!BL^F&k7SM<$;jv)1tGgY2Um1xtmy%eV$ z(OFnyLR0%ipCS9Ex-3RnhXI)GWZ!$#zu&y`PNMC;>W;5}{URU0r^)+4<4p?nAHfHp zcEv~GK!u}|SC_lp((Z4-Yq|QV>tC>a=!siCa}Rlcx4ipF{DvGYcW-{}Yaf4n_q(ro z&7(P&*+op?UbOFz8hezPFj5FU$6le;FncV>1*3HyO19Orng$+T`r+-`#o}vSt(K zRy^GE>Fe~h32`zt#KmfK~xEbX@3%8XwRDl;>$ z2MeSWkk0Qh_Iu2Ux^HBLd|6R|G_WXrBTQHr;MZGEhEdnzy5@Iau!pXrm)v?Y^-Q{~ zF-J0!m92+%Zr=%SW$Y96#l-mNY$d1#vxC|12UtGNg+dB?`a^JpjNLnhvxS!xo`z4S zY-+Rp24!x&m|IyPMU^?rXEj;E@Ow)jV zg!ApAE!Wi}5WadSD$MwaS%Vi1*T9er|->q;slX$#GJg{N1PM44e-uAXHy)B{!PZoAMhwfZFzDQ({JoCz*NIA#j{1ra|N$|H9 zK1H5VTx3~ct8g9IrBA?W@=jzYRcb#v3)c`5u!G(QhTZ~D&rwHe(1}YGtra>0x0zZy zLZ!1vMSr1867@PYA^IviWt69GUCoP~s8lj=GI|%4u>s#sKZEiyc_c}$J9`B*P&8+m z^Yz*J(ePh4BSShzHF0BUD=Ko;D)!DZ+8V|>=ch!*@O1{+Wfhc{?nPD{dlw;VpUNZx$ z7KmZPJoJXx&}`5o4BLTXEm8K8N|KuXT&-XCCkMh#BW?Ulu^y$4!)V+xO~P$E(2w@* z-S2n15h}eJwM%I&amc3a*96mLP{imdgHfNt3}?#%v}se<8iDQ@x1kHMo(g8_ja{oi5T`q{!!j78%r9Gim1*mH%PAPXfblo+1YQ>4-aflPVOIZH9! zE10$P$+Qz$I&-B~o^k3?ua<>N_DC$c8|6W^*`<ptxr9G#sovznB& zT2Sm1(|(2gN3UKE0-_yq%qTJ@u+Dg*BwIYtN`{LW@VK}~hgoW&50p~x>@CoLm0-Qy z877T6_fpPZw-6Ot$OttXD+0wl0~*+cL$JL&lc{S1on`5i=0@#bll`?5byJ*$mN|RX zRo#c)_U`-7zVodQ-}K^_+%UXz32N%z`K@Tdi|O6 z{k!(x_{1LnQC761g)#p2%@)okWKYZYBITO`8wN|(08*9t26#Ms+PrU7+=RN(- zvk$!M*P1hDUSb8MFco~hT%)~Sqmz)bDeQ0DxtPQx%ShZQd%6=xS5&GuZEO}UZ^!k* zpm1XP6pCRG9wY2;v&nEhySTmH%ete%CQ?)lGL=QKJ4yH4MY&BbbIzf35W@pi*0!(i zVZ*jJXFI0$$?BcUzGTwU{82xF60Q!L(>~+k;=dL_`VC%pEu~B=aasHzdcHja1 zi5puR3k~b~>Y=%G@z73>d;$kcUghV^%h0lKPhX|CqPV{PqiX!K^@XCW zE-ohR{d3;R%*xy%=zls{T3>&5T_5|`>Iz?^6I|$11@nMc#1T#RKb2E*?@!bj!5qgo zYrT>Bbd@MPQ%>76%rDQQAhDchJ?HhH7HjC-GE5tk?2SRld{7+VEg0t%)*}JMs{?pX zOr3(hFkD8KMcf53HL3CdBi-YVXpoU6&TX0|J$1k|?sa6c1j4U%2WSJ=9)kjJzT38M zzJb77a_bd_ajhQLB-Nw)xUjFf1351>?bLnd53MD4|En#BxihBC)KM=ZY@%o0Ue-96 z%>`On9mT2Izn#97edL_LO`vWkLbw*Ftj}t>WdESZKxYw{PF5p{rX@tRjMP4Sp?(%h;Utf+ zMMj6o0C}9_!LwSz7rHLqpy^{w3T;2dBzwcWJvsNWbLW24lf70KAIA&EU_sGew-^_E z{MZ9Fojd$*f2h85AiJ;lSL!QZLQioZ+a&F%>5}zQu-MUw_^fI^y0MTLMzWCqIl4s0 zx~0u-8NRdhqw2X?SzH~jE>`kCwOb?ie#amy4>|6w<-(MMeg|~UgNhORMB!erl?!Ab zyORu?G41w7d8O6fNfv<-j0_KIOEv=Apg+jtS5OdTgOpEMy(Xj1Ubw}07TJCB91MGu zDj8;zpm%kiGgI5r5XC!RZxJz9%_7pGt*F;nq2}RYX}(Q6{P3D@%}#bdzFey%*r?b2EnC zro5djR-#9|##*DXR%C>fq@`ElYRL}#M4xZZEcAMMTuI`pY8&^$ej0HGc^LwsK`7l?G6LZ9P_8GPOI zkQN}#84pmyQ8A|2d`%UzlJ6fO+nxF-KZaMaXFjK%X?oVHXFLt;7~+9l;;d9QU%ONS zYgw9(G_{mkn4ZIkYlL}DLgzTweUUoM4c)RUOk?tAjMr_nMN;C>f6wV@%pt>R7%+t{ zV>EC(jQGeo(KR^d=hQvxmTOt=2SyufnL~-G^_E*9x)aw=dsYK$NpM(Rex7NJ-GlMTj3o}<6-;L81XWCx z9Wq+A_~Yu{`CgxU;p@;(AA+^v9%SLp5t0$|D)+bfWRR+WRFQAE(;YJIrwuMQ8A2Sv z;#FuyR--X44`AjZ!Ta=p{1QCX!TGZ%2=(h}qz9gho*7abtdFB+;+cXvVJPIv=U17Y z1nxCp5(=$&WdMfal|=zEXSGza`AQ|VIB|~kOG}y^N@yNa?GjN+W<3U$V%VrHHz)PF zEvhTkknuRCT2xtiPjR_acZ(KSzN8vO6`BaE=(N&d^k`EPWy{&wnSq5uw;#P2qf4)X z@fsHTg{unJD1=4Y%>>#w(|zRz(ZCcR4K@hwyJFhIB&WYn$*cQGAJY(_J4|$C+@JKi z^r~A9zi_TS`<$~+edPRguRpoFeAT|+r7{d+&n%WJhEX&bKl1oJx4-(&^|BKhCa0Qa z8J->Mq?S6?*H2&Z=rso4-nP#jz5dbRZHKdi{#S8a)QhFrqNOA<>mECF_~e}ggb-)74xyw}zE9-kkev+Csjx;Xf30xbGz^kvnQj_%x~;}2ZjLp0P^5<95))n; zS~C^hmKtpolcFPqNvX+vD+v7iO;h-@DpTU4(kr)l%}+{{sAQL1@<%in=qd-QuCSpR z@;NWWj(7{zH4wRGHLa=)@H*AZ&}zBGWpWki`cd8{pP~iwXJ8k03%3^@M7Hy(Zzd1& zL`J}AJm?TZKjFb9kz!&SVN%|#*HKJw$k2uXNPAmM)9qpO3Qc*=6PY1leII9o_&XL_ zgSwkYUh!))-QTx}@A-3QhorxB)oh><4pWP@iUzxX?v9iD)m|vE(mG*@MvMk5Cvs`y z?T;u%Y$xSJt9)SSdc`*3*HhAdAdsBVq%&7^bhq7})l2D&Yd1OWG_l4~!{tA=B8mxP zw$Z8Ek4=)2f=^RR2{qXx)A+z-2Zzr2zs-I_mhm#c6@JoLC7{7k$ZzQwaI{S$)JpJ?+ zp8koCzv@*Vf7NS0_VSm1?B(RG!o7OSk0&!}xu!W4hgU1<%sBD4uXe?W)0Cb$`OFDb z4ku`}aym1K{jIAVdGZV)r}qrG4?m5ilbu&#@wpMcZFuN(0Sdl9H38U z7P+d%T9U@lfAINeOzu|Q^PbPV;SHa8!`(R^?DT17z=7lb z&oSViE4Ie22J){w-J&K2WH@ z+J80J7cVQk1~ism#5_M39oCy}WanW_pu2!>l5ahCd)@H_nizw@K~=*)m|i=X{^`S? zj#Rm+RETAQG9-m=fTa`Hn2yS)jR91n?K~%EvX``GI+e!L_YyH711NBiJEPzlEFp#> za0edKXN`Ygn=T1)vBmX+kqD_)D~$AXr)Im%uwrRhPM{ZUBAx3H8EzN#z_BbDTLyFO znxpr~yuH<)>+N`MXl~54*A2U5i*hfS+b~1d+v&}u76DxklFI1zE%V3PSvU{YQ3TRi z79HD?i7gltb|Nj?fsZh_MezBsSB`?_0phw8iYbvaV9YAoB`Ai1;&h-HTwB75`5{)! z@v&k9vyLhE>Lv|MP8OS(-MhI+xEaztpYb=yZpkDE7Twr11Ivi3sR81xQ`*^yn!4VMc6Le)gt;u0 zX^A^kGpI7VQA(traI5Uv%m`R|H8tj7`RR2R8wnwCJImUpSw_!1%z-gm*8Jh{YLE@p3!f%G1DeLm$h*nM$mhwQ6bfk%u^W?3k_|^Hwh4ZEqa3h= z;WynJ4;5h;B1{N`&I^PwDLFbtM#(q_ucV3M>CJI0>U5#vYx3eoc=9TNTa6G@Jyduu zoO8XMoYiQ!2dq-oMQ#*Kp=ByA6l*x@WtaV|5-=!K3T4IlfcI6IM@5`soV?ns=_`6W zgr&j%9inWD22tUU7+4gGSTP#Jd%&+eAZHqZnpY*6LfiJ>C+d%S!ng?ylg9aF9!2O( zw4QIsE99?Kr6WlbK2VGd3TUOfbkfV?wDZ(j2#HaZ&uL|b+4Q^NU<@}9Dg@LcYYZ8* zQOnEe&Z9)wzU8A`n}S+?KabG;= z09NKGw-{j&ZhC93$eDggj(t;|YzW26h`mRN!}DRFnhq%*sY;co;$Sc$fq=E6$bq@E z6EF&Ngez-8mzbdj0|ZRyXIB@3a>P8L!5C8A z)_gU1q;K1L)H3+2hNDL?UxTwsP)Q*ST{=zF(BWf>jOJIk)g=%BtQ>D#`z~!?R?lkX zV5v20%kr#?*nQ)|g$ti2|C9WB;gy9yB2{u1y^Fq=evK8`HR#_`{*7c0ev08lQ%eMw z5}c$pA}(7;a_s}%zMX6VR?{2`d+85Gn)YyI8^X#s9^vnJJr5+jxZd;;w7Q<}Nbmhj zk*1d}lhdCKGDzT($&dJfyRAQS>rNM0%qH$dxNe#+T=^p*1Q7lw`2lkFAJ=%mP{5QHfySXSlvi z*0C=K!;#WLhtTxv(8J?overk!`$->F-zZs6kj|+;Sc^fEgub=nv(73RUOwoisLf&C z+ut#55FHMpmQA-kTM!Ov!OsOIQvz4LrBYzo7_Vq@mteo_g08(PbdprS~F=u}q$G?t<1t}j6V zYRobCGhzt`0C^mRxQ${+T25#frf$N+A?zDD{}?Fnmg(6X`bNdN;l&@%BbGIz*lcD3 z$`3X4EPiS=$)EaCEW-Dhhbc6<#wH$#x=LRM#rH&N`Mhzpj z%|@t`q^uc10MkMDEgR>cfMU49z%Y~P(80PXrQ?A{r&~5s5PCMrXL%v$&c^=2w?YM27Eu)_&@t{0L^2HkYzp%tc2_3Y_M`I!o6 zO?XdR5~gE1t%@mKiIvBY3L!x!!Re3PE_98#ktucLA{M$~3)Ia_>6gF;=JkeV!>}(E zBTL|dLsXOm%nqeSGEl2vn!2F{{clM}Itr)zc{uNrg@+3-1g&M9j?-R_asw-9Pt@-b zzl=vYs6SD;8u#R!%(TCv zp_S)O?0@~FJaQAp1_W6vNs+wj3g}%Jl>?%|@&^MTSZ;S(HhNxdo5IvLH48>CD2}?x zT4_o$>es1mcD;79Y+AxvUKle&@|kk63`(1~8hY;B%<5(s4VRC1YkJ4qs4T5Fhj*=^ zs%~DIZ?0XKFRT{|L7HLO^NGZtMCMr`M5f+OdP5}f{vkKfOYGa7igUaDk|X<%Xd1l0 z2bD_xp0OkQ|KP!6$Il-B;IZNG*pPg1`r)M~?Omiw36DK^{P@|~A)XGps{{4>-HZOl zdSS6JD(n=F7tR!JFFaIuQQ>ukw>{ezJlj=4ece$v8;k}L@ksD4RXMn`2|SbXpX~ib zhvdb>i${A;r(J%vN-r?zQN?>2KXV_@@OH@F#kt@3r#}0pH+}X^$aWo)=prNvQpuPrdGSpL!iRbi+Hp z@V>bh4{x~p$P455eR1bkKK6=rDD%K$OU66Wz>6JTf~EM^bAR$Lyb166>F(<1KEHDM zj(w$5r7wKpPNP^fqLL;`)D(^fg4!1E!>ofYJz)TfB&L&9qo?jMB6i5s*fL=(lPc?0GU+@@qV9wPRNEmx}Tn-{80EU`B!nh>9gbv%sqdiOnmT zMk}(cS0gp{rj>zHzln0>*sy=cYYnjhTOa}yRTo{YU@1g_*&fyTLj5S%-KjY zD#aReyIL)Vvf&Ory%DpyIj31_`3)xOamk|%X+Pf*B3O!S&U9GZU2i+c4C-CWOExv% zECM0202DRbg|*AMy5SKs+i989F6DcrRDpVb{0 z?h>}1$6=sw7`ci^0q&uaAAt$9K1i-5Nh?WwMr{YQy1?aJFX`oa(LFIw_={(nTT5Nt zxZNsxwkhb$Fd<`5v=fkahN+nmNYORW4rxiI4aYS?+ek~Udm^P(+L8v52GbP2DMk9@VIOh(x5?H(kUy@hEyi|7_!*?~e6xmQH zB`-Oe_?oGMHtc}xp--{a&dQ9Dm#MSaAxX))DirUy`vX-0(7O@=wR3c+T?uP9M>M2l zh4sL?@J;fowz@ys56n$vD1@-BwBX~rlL}zekxBlb~DWxj?!dSL0Vi2eTF$55pCJq)-a#dI-CMu zHCTiup-i+sGV0+LX_k{~C^k}=lNhBUQ!#}7H5GD;gh}IP92$9?A!gv}!oWZ=fQA5TVIL9XGH>!?3siqd_C zt~sbWnL=>nb;P6~=ng`Um%c?YnUyX~P&y_1W6&yLNkA2wV@%&vi^G7w5@_h4M)ieh zID@ULwuf$Mo@t&-Ds%n*l51Pe(oRP=IB6N7&v$<}4!E||W3)k9+tPIu5o1yK`!>^c zpSlj{EVV`ArB^pe@}j_Sy(^Y7sFnXtc2CWEEH zWT`E1X)k(>Mps5r(WizPrPfBL)Cd~&V)aEgtb?J3<~hRYs^j*N2Did{spDG0^kUNV z%PwZ>D@M>sn0Cyvf+`qK68({BV8^zrQZM<-k)}1v4%ZAfsUwEbu>%9uU5S>#Z==;~ z`W&=6)So>tJ-thDni}Xnnc_BzWk&ZfL!%6TWQ;#4W`N&&{m-3tyK_~Z_VcOzo0ZDu z{z|3YsZ=`c%HMQ4huUpo=PJVgee?cXHm?c8Yc_A$e{&QaY_|_iU)B2Rf?R(Tr zRsQ+HUbv6gTL-(Hi2}1CEm4pnDf~qm^uJDhKlLB>Q%~BuwKH>Qwf@k%p1T~MYRznQ zPdxwR$)A9)yflT=EZvr$t*svFUj5*MSCi|$)$Z&XHML z3m7FTx;=c4Fgb?SM3h6ya@U$RnsW1!ch_!elLz1NjtA%NX<$k;a{o({`ee3qFd_Gm z0H#uGN+il+|2ZVjyvR4=^L329aRf3F7Ff`Hy(p6;A<6fE}-`@0nI>0vz$!xuM;c9`J1Vk2F!48y7)HVwmU{duWIYUOsdI$j8Zg@Am* zG|w^97JnL>kC^5oylDKXQRH`=ZOqI((B-Wf~*mfkYL4(=GvTn>&9W$z=LSNaZn}JoAOJv#HFqg@atow<6&~3G?jLeyx zmP>wob;fC(4AaH%$as8J6_ltbwk%L0TFc#fr75{xi|XCSO5F1G`dglAwVrxQJ+PhR z7iT*!esO13VW1Rl^$@Hs8-*J|gDa3VTvQYt8rlN1KLCR~&G!s32?dg>DRM!w2yz?I zUr1UAf9lh0(B07{L!Nw8#K3A0(+ymhwqT2mrv^U)tjSZvb#OmPnoLSbALXs^P;A+@ zV4h8w!HDfKVcVK7v_oNwcWWYgK!v=)S1H1w)zoH^4C ztVJo7ELj1eya@_w-^;cBM&yYyi3J9pMNEXxJEzW`nj(_kqFDsK&jy1`z#UAnzO$poX9{xRzk^%| zaMqDzFO;D-%(JJ0MT|Qry-fo84XAQ)5+mfej|t#AuC|^G;zUNEkPrH!-e?ddv4}yN zBHu9M-%8vE@0C{aDfoNe`^7BMcu~!XI5~w!vy5mU>;=Z=fx#7nMsSL#74$&(UwV&> zcI^Dm?th*E^{7<6>5!()u0DkB@tITKe9N(8 z2Y&jF9r72AkG*JTw@*I0I~aX`_sbdi>~6aMfk(eSB7ePmgnV-McgWVSoh8Xg#l$bd zb6*cfPT^?bhQd8)n}rw>k#&(YU;xIv%9J1wVAr57EZP}PdI8FK7utF}LP`*+GF}Y8 zV$bs`L~<6Dbp?D88NSL4dGZ#g*#Ld1;&@({O&P$_OzK>rkk`BLcGEgBzC^3|{*D8{gY z;#T@7Rbk%YJk|WaB<4%a$OF|c}{g+Cm z^pTGgi+6zm9L2WLW>S}^LLN+@(xI__ZJG|49WuLCEK<{gN3?{Nb*Ve2a@eAqx7DVW zV{`6qfXQ%e>9`wPQohw9^w#RKFLj)M{AK_=L)Fmn-Bq?}tg z29+agfXJ>6+DDjLL19rZj$77K(64TXytF=Fy1$I}>Mf5vGI;*;@AzdixPE10nX{F( zPW zbuz5a?|!}5ZXGXp7ycQ>^*_V7z8}WW`$?BPA6B04kX@C+(dE zbfT|ml_!`9Xn{fnx|i$}Be#Q)P&o9+q|@t;CjA7HUkp;L)g4{f$IVKUSO8@Ces)U#5F1Mdl5q$3Ro(YP{$Dn zq6~&5nAIx%Pj@5{?ARR-Kr>K;#<+W|6!2K8q(CbSs;LyB!5X5ru*ub4fy9uGF2)KE zM9zSndkHak1I>BzR~i)zY)kp-JMTDjkVJBh)ETu6TUb7#Qi$Jd^R%My8oE}e_VS21 zVARw^DPi3<4}@cS2BEeaS{TYkHF##@1(9yUXPU%q9hau9VkJT&p1=%;No$)fmyS$% zpv_@QV5azHcE4>=hnUo|L6*A~GjaD13`tv?PgW}~33OJ(rL3&eR1%5e(g4F!W3CaK zCS$_!4NxhBg}bvz?nKa}X13KV#&azMwo?zJtfL!<$fBYsx$lPD)Euf)5+MSrK}`}^ zU_)DASyK?lbl(Ou8`T*%U6T&jGW#5#ix9-JRxH+QSugcc%cFr+j2ht*L7>d549Bz` zw@ONWP;}=Vj@cbtZo8;wSjK8lY>i_E#mP#u9=TEw?JBcbN; zr3#d5Hk!WQ7M1}EDY`;PXvCCb)`Z30VvVuT`$uUZRLd5+fmB%aqNK=`WVd9uQxF#sZY-O)IVv=yZ9>nF3F>`d65lPR$(tO_GHjEZjzySmTc)o^ zR-l_iN>MZ=?miR2gO+W^n8}VBvejPDs(~e8#0X7SU^iqep{!yRMS^@%3U38fFE)z; zxkq?Xa@~3jj5BOEXa=rXjO^{H^O%HGla8H$@>QR~j|I|M_lT+4%x1g4Y8NBD%1w`G zxPNV>Dbqbu1T`2up}(0zr^tFU6)|O&%S7OWrUiYJcxA4a%26<1gqxUOciJrQQrtgv zqN0yOy6Vm>`932h56mZ`B_1#NWU0ao0|Q1~t`Ve0Brqeiy-iPDR%?mBxGJC$Xad9t zRYUKafZ1NFx}5t=+O^i2aSWQr5vE2Q-1}vYctSH~E!*?g29|C*WuNodmbgEwc_v}f zMJhHJ5`9Kp!Pcq93|~Uq+cxswVs=uvdr%52q>Qst5eY_g1BSn4+6=noFf8gs7qA!@ zTn3g2W7JfnyRdw~kVBmu^I$y!a`J_RH-hE|tA4wKOQ2#FR8Y$d)?(1SyZ9l3Mv*C4 z4sr7n(KD#N585C;G00Dm8mCjp6DU+^chn#Bv$ZLAS)9~VVhqsAdKhe^$mv0XEE2_A z4|;}1c7IWz_wG^MgV%W~z?|tk#?Z^9QQ2tVMg~&=m$Ktcnwr8*oXOFbYwnT_k1ZQc zvEsNSBEc&i#V@iUF3lfnZJ_X;7glbZZV)--tI2Vb)=giQst&SX{7h zIU1`)n#%in{FoIvE~w`M>S&vlfFY{RGSPeKoAH&+<;{eMxXQ~SXVEPm$Vdb={XN9^ zVK>d2dK#yC?YU6dLcv%0z(1{QhYuCLL(1ef^6$vED5E`kl>Pv^sKVN8nXQBVs~kqk zJuSN{e1suPD$g5=Y>>ojV7|v|+hiR&2lt*8KTVdSl#~sHP$#)SF!#|0nToGYw>MD) za%<6ggR1U=VwI%r$7>0uPy_uJPoe80Au$gt5{`h}?%@qH)!R54`iS;baJ{Sp7p_M+ zR4R`^8c(3qac<1vUiy@P606Wv!LXR%rVi2=1_`L=bdV?@b!SVZH&E0M=%|R-VwXlj zx$r@*!=r60bX(RLO{Oe(XrTA=&oJUwb`dTY;lV<#;P(~?A`wyloE4b08Cw9I^Qv-P zB&u&wHDqRm7R5oVNX29)!zfs_K@fE?9<7HQy%9pY;s|;M z^t>JdzH2lYAhjUolZxLYO?kY=-| zuEfWL&dlI>^75cQqN@Gg{L83A~r23%zyF6AZm;UAEGST+6RM(Szi*yz4tbC zW;>+SB05<~2>nee9NW-cim|DPvu*Gk-hn_TZ4DF|AD6orvU8Y<$(GK>>TA?YiG961WDd3fvFS{J)IYn=Hh!VVr4;_5?JPgIL4rI(PG zBJR(To{K^$f{r`3j@f0oVJOIaqEi?$2I>w-no4rq6@f8@odwU~d1j}_Zs^SZtE+2p?ED3UI(9{=ZAubdOx6vm_uh1!Eh1&~{7Jj_& zn!Q_)RT82o?M*UJV0K6nfo(WJ`w$5i zCTQ`FBRS4s1bmR4&+@>mr*<@`J_qwvzMKgG`Hby5v3W}XlA@~CA zLS+Ww~pcA208E@ z70`riXbAtc1hTH76HBL@>kKSNm_f!2dT zM73)S_B2KiF@>h&P%apAFkWHQ@(SF30T+JU!B%iz+y&VEmI?S<3tA$WlaSgOs1uR9exVO;bljGyT zbjQYVJrLtMQt;%sSG~js)nuLOCv|$QXt%WcCDRRsXXGXdY;~q8 zwn=hSghHSDv2j9=y?E0q#&OY#>-G3#4gMLSVT6ZduP1L522T}puK?2%%s03+(|8A+ zJQADYI^#yU1j>(bt-&*W;UVJNn&$Y19&qe1ycu!~K&wMZm+s>rdtk>?rkl}V z_E}83c^=$8qC;|m10=ptUfOhmu5{2fAGK`}1Z1vQsT6nLgRjp|OKYp;^no42vW@Lg ztM$HKyWVK^^!nc!`Vm8a?$7O=NuFD*?Edr7pz$B-4>xS%6`;e_dyU>>?|AglcZ4kG z?D-5WsJQWV;b`F++*QWJ<^yzT!i-lr$#S{^(4ST04SLhYlNFA}CW7xU24j!MJIga8 zCSzt$+yNkkZ+`QelO){WqAa}FtWavV9DTlw;ik3n!N%2pd}SL{H_#SjDK;bs^%?@P zQy3gh+Z8>dI*Q`01yZ;GKmK>W`(5$@C^3$%fC8l#nH5HDW{O_LV7)lf8`r!X%F|VO zDU?^y$h17pY+`A%Ms@7C26-hGM+#70&aGq6SCjJvUhoQiXoI_O$19cNoJz zy9Xs+1(krFJw!-?%A-fpX~3scd3jb8dH~Hml{X$k-PJ38fC+#Q+n7r7Gd!Mi{~$)f zD`}Rrl-ztDdBLx|z%pLKEuU~xr`O-~^l8n#?h3Q0{jJl02hyt%v2N+l@Yss@V?3s7 zUw?$hhqtcgK|AIz;vwG<9;q2C*7m9vL>5A{S44AtU$)OmOrJGfYl#w2*ow>jnL#KW z9(&9%zRE(&nQ5mb$6V4L)0P^`qU2chW$_L_TH-%0mKvE>^ju!3Ag>sG6?sKL6l#Up z!p((y3(qaQqwwLvpTcZhAY0@{au0bWc`x}j@&)o&^k#Yoy^sDFeJy@?M&S&iYz5+#z}FO&`6)V7p=FIF*?thiap*R#6#EDfPMt$J^!%g{#``#N1ub zy6H9=!7GUP8sS)k5;0aQoj|{UaSZxHgMr8!p_3d8xKW0@1OwdEOk}(^$)Vtrj*RcX|^r zK^r9J7U|=u8R{w?RZjL~2Qx_JM!(30qfEkKo?tRXH^5{7DoGFXk*U3lbPeovL;&Na z0`Azz6u*<|sHb?Aa5{hvw5A|7*loB;n8`KtGQfPw!0cV6Fau$_2#IW;8E!~4*lao; zV5!^4lHFjKv~rZ|L#m@SRD0BFC6hd@Vmd;tvD5oMEXy>lgxtZeSiJXURDf@N&dLTl zVgEgDr%^*6yx_wYLxGQp27TKF!&2kYt|iB>xa#Fgr1t2T=;g!5U$79^P7&+`;ailu zW!o|opbG;to80t49xK#1(aEp~+WrYPDtSWuH`3r}=5Doc=p z`HeP3PuW`-QH82GteFl9XV+5kOCS%Wh1k73Fc@#?#*W5Z2P{-64Kz@Mtu0!h1w>Hc zBB)*#lGu{42=>VLoP=jDaM@>xVDnFMBgvGFB5a=%Ib1u5X(M!jq z4@QPgOECtWP@bFFXbr3I7*IqKf+?|3I-=&KvAT}Dyy*N?Nw$zq-{Ou0)dI|6@7T4o zhY!XbjOyZGNcymPg;u&>3n;5M0@uD9S`C!5xzG+OCewMf2_=DQ!|nD=&92R83k}wx zDf9y?#sq2$Gmakb%cOStFrEj(p7FgAT&p$p$30XSv*rCln z(cKC0xKyd+Oko~?t^>P}w=kgwJ8Sr!ZZxlSWqFQ?Q<%XHOl>7WA_`LA37qElD$>es&#Sn4Y_ke zN9zo8NE##$#Dn1hHW)msjX}yS=zUMc7MZAa&;}(5v~{e)hPa`60X1Q0LYBv`3B`$I zfaay=-c3|=)x88~Y#Nr%z@P=yds*pr7)$O-5>bO0I`NrnfSHPp77-X0=wdLyrGY&u zbYYwP6k!vop>pZfrLeGnt)l!f<_U{xo~BE%c`JAu)67HDx#~DVZuMqW6dv5uZb;pi zVDf09Vv;))dojalq^Sfapdexs_^44*VJW1HuG0l*1F#P)!!SVKhi7qdw0R&IF*Xot zxq7HdX15N;Fiz`RptQr>vln3u`_7E9pw;1-OHR|=Zx^eMkTNXcW(P4F?XrH?qI1g; z<4SEm4pfAc2tLvD*+s#tG$yAEKa7oxkmhRlKB&Q5FR(58@@9W)f7NH^+^GX|F7%`O z5#MK?St2mqZHH3FDM6!KIgTdK9fnNADJxIQ&vYhn`Ckqc09x1%K@Vdgk zDSW)}*~0G^{=D$t3qQbAFXVc#tzSw0f_xtaibL1v24V+Q_DBr*nd}|O+y(|i5Gl40 z9Fr#}Q$fGuf$Zmb4bV^=G0)(>Ud)OQrF2aYF|cZ;+FivQA|_?@yA8InVp~{U&(L2;_V= zxV-HMl8Fun7oSv7$KcTp%^S9}MTh(0n5;v$#M2(2@pLr675_-Vnr1Lb#fD0asKe2{ zj0Erx%r)Dl^d#pAtoEF{7Uxz?$E8A7v<7Zq3$XG}A>x@+TV*IB7A&x~q1}i)W1N>c zm*1l_RsTZ}RQ}bTM?BAp;}w-U#y@SOC#|)WF%JZqF%^e?DZgKaQ z(HD%X=)z)J)wCq4R-u7wM^W=d_i!LQiBSZ4HOh?$wd#~d|5R4zB0MIVF?^MaWf zVZfR!~Cvz2XcLBu8P1vlL9O{oJ(;%MfvOKbT84Ws(nCt24F#_ z)g3H%&K=I!_Ka1oQc|tr_n1A~l2*O#ny&gF)vd;0TBTP7Yiq0i?TfWzN4T+bz(Vm> zO*E}oaW$s7C%2iE%tVd82d5l8%8l)VsHET-S)+FSe*Pqw!eM~vF)iL{Xj-{O$@YQW zadv~LJ@fwkrHqR-tXh(X5r(HG38)NpWIQxekFrV=cPndEZp6@vS`d1R%gcTg5t76@ zuhc<0HmY!19lEGqhO=Ufi!a_yhORp#q;FY$a^v)gT#_FUQBqB_qm(h#K=)5O0&)Ij zuqpqNJP9kmh8Zf!ARsIN8zbwI&5!JU<0IcbcXi{sJoz#HzV&ZUZS_d&3^ zJj_l%X{T*iq-GJQh^vw8f-1Rx|L(V(svy4?g!8)>Zh^zCzkK}YgMoFn+B!-;<6D3K zMZ|Po_-Bw8jQn=N#;iXRw7qbbN+pyX_tOwD(w%HY+a~YnH|pH@Mcv@9;NE@0=idbz z{TB?)$l|7L809}6|MY&{)&Ef^-_Z5l1{@ZzUN|;5x_Mk-E%&gaJ0RIy(!{O6IPHSL z;Gvrl36#dG$Y+VfZ^9$PIV|3JZRWqrxDIHB>@*n>aUdx<~uv+MS z8_R6ukuDs^1B~c^ue#Y}Fq$2~x*B)0**F8kWs)(3ERQBl5_jS6Af3c$Gj&H2-^gr$ zp&nU^zMw%&I?ZdJXf1aq`<5-MXg#@a-;=jp+d8!GNz;6C_cu{I2#R5AT~SS=LKir`osqs z<#@7eTFa%A&D*`(S5CIzwYmGb*0o2W#QU#n-R9qZI~+aSI=9+de)nYZq-8z1(7Fz8 zt@vFp{NTdxP(gkRTIdMc`;%=g#}{}cPiwfs5#hc{dPL>m$tgKhVpJt@>11s(ZjuC4 zE;pE)+1$B#Z8Cs)+Gmb%(yTKK+iodvboXHwgXo>2I%j?T3eXA%cur|BzY%xhfEdoh z?hMzH%1XIJqEe;AZ1E^6yuu3oh!Zoa#;$%yCr9#=%28UXKnah+-Gp6=iaco6iDMkp z^O)qqJL!{!zfof#&ziMZSS<_-`xM9Zu{;uEAZO7DKY&SuyV{uU4&G_l&tvrwOj$He zsf0l=7_Y+%juu4Bs=s)x9Dv{jC1mn9$^K;bPj2F;fBwp(d;k0ZmKT$gBinP^yC?YV zU(w_X;}^%ibeI3%zP4lp1XZ_-cI zl7|mN?VWJ-wQ$2L@7)V;MOXuH3ls|C`vHz0FQjm5AMS_!XXkobv|d!_ExaE`*i{sf zYp10BI?3k(8WbpXC{JR>1=M*)E9qo&9<|YY2aXzL)C1y7q}7{6T$L-Ejbak7sKKZ^ zkFv6nc-izon*1SHNueoTo0}{4fr&U6+_86NjfT3K#fc41?YcKfwzjPex$|hlMo{8> zVb`wNt}}yO!{M$c%1gcVPN}ri>vcZ1uUNFgW*S&t!)xb;cI=tuQX%%x5iGh_47@^N zHH5?UT5XiARhqR=EcJHpUTbFKVYNCMQTr$7&tv;PhwX3TtX~kSLQ7Z?`oa`@+(p7s z>~XIU-XXkOct5Yk{)F%;;WNUsydHqcCb$lnGTwkVV%>x|1t}g$Xf*BMtg{HQe82n7 zgheDtJfoaaoT&Nk8JB`+&UMRp?N^tctHfBZQhEiCZ<9ha)n_FVni0#j!e&X3{RT8Az~sKvs{4-*au-ZECA2LoA{j2CQzac(&~|B(;$$nuLf*?VY$t z*L2C#)H2m(AvjX>siNeH(pP9fvnNYS(s0UP8KDmz6+ZIlvyar1pFdqP&0WB>hOAD* z_IruM12I)uB`yp6oLG_Z7;>u0EiQGiq_IfVrnUo?u?r98;tzfSaAomyb((^lBO}7d2+P>yap<(=r;ibc2p5qN2!eRdN`7rJ7xnwxJ zWC-zj0ry`@+v!qDZzHs(9ezTUmzQOg4gl}sJ9l(5c79I@J?ek?JI0+IQGj%aU75nY zvuO{3H%=rYn)PW)Vk4fSG{Y%=uFK^}nFvq$g@V8RB;7w&E+b|)t)J|;fobXBFjmT% zmVU^nM|LS_9MkJ5G<&YLUeb#(QR`@uBC!BIvU3Eu(=WWqw{73_BCik$$_ z#!~Aam~c{M?tXxZ;Z6Q$6)E#J5jZ{|L8e?^|#$VN1afABG=7Omr0; zkFpDSD4hcIM9LN?YFF*dCiCYBJtcAn(jlWv?@Ss|mLcU)QFS(#&!#zsixY@CYti?Kd(01 zB`CG+EP5c=v>eT-M84NgLN8du;a@w5eo7tILqCW&L}+d*(%L$uI1Kyi*Fv#Y^r*$J zUGERkUs*~^?RLqjP+o&`ejD5I1MnNd8-%-sw+LSpejkcx_*P(wu;y~O4sM1!usw*& zLS5+G63AXq&R`4dhcQ)(l|u<)0D5rQA&GCMV&)3b@Y~DI;Bwe z{6C!{gSb1LhxJt&QaF|*8c!5c$fOxXEO@k_*_}rXRDK)JH=22KGV8DoWyX(*Ta9ng zZK6_&1oeE9qMXi44p_nuMn;$78J#Xk2PTVKKOtTX++t~xlfE1;Qb^`E3UAQPv_pz? zQ^srW8ULQVfK4U3yiPLz0eHslcz*T_X1wy47D|WHlrMqs)gR9DI`3I>F5suU}BTQ(q+Vpnzo#})BEn35qQ-q$TPlr7Dr+-MchUlUDJO$0Y+Y$OJ5q>_Bbucvz z&#Fn5sADe{nXBqPx-SN(wjn9HAxnlTN{-kHn^~byh1R>2i0B^Eic~zbZ`qYx9j$^S zs)i(^i;i=L3Wmib-%zOz0O)(k3|xt6Cg^e~G5q{2ABfOfeWQ-2leO3}ZZjB~L3HxH z^>({gRolJFTcZxN!*I!~9L)z!{JY8)^|<4hhL&WxWjL`WX|DcNqdknZO0^}$dZnVr zQmb0g;$hoRle(|Vx@;LbqXx^01~wKgVc?tbI&)2K$}*AA9D|{e z_%WTq6+vSFvLVWZZ4H3oTpqzJNS>>?^OjuaL`U9 zXc03(2xlyB(_*WHu5Aq+uQ1IwK-mvWkv5=mTs;Mku*ZJlf&YHWe)qmBog2ULj_Yq! zVf#ZTH+2bo$Qw{Ov#g($&}|G0v$^ z!*l3sWyA%bB1l*W1#$2)OcZQ@1qlKC{8gKpdXuVcUUl!!-n;!bm8Ip%>S*=b`|b*F zCFP%6!@KrfbML*^lyXhWOZ9eJkkM9U;#qi&@B_lV!sEg_(aQ6fDy4063QYvBDOF=r zgLA@=yeAXXsj?6-gD33o7P2 z*KOv9Z$8 z-LPPIoQ+Pxi)d?_TY|)HMTw`XrB*U3TZ-8PV2@*P=>}NT38Ay{O&r?Wt59fbT2B|1T>M0O6ZZz(xSuC?>GU@ zXg1!p?bSlJTUfQdFQKzgOqtzo%RTw3)pTPhh9#{hx1+W++(=hn-rpII6nB zrf`XHHTFb-)GQs|$wz2rr)a1VGb1kSX_Ll;lteiJ#g@X?94KWy&SykNMC;$^QK4@Z zV~12Tkzy?qJOJ*$t)XRkvEevpF8lpcsutM|e=REE3=!6x2rbmD-P70H(01d&+Dfy# zp2phmoAp*{qu6Ljifw32x0rllGq!W^V-NeJ+X652-}}J36|Gdd?RAbReRD}(`WtcV-UpO%-Xj$%K(O- zHn#r;zIbT+26$2d#ZW+%!zx_)_9MT?3CD>Zny(vhQgK<-f{9{yb~Rk{z5|6<`Z?v_ z53V__xme_8-yRDSgE)}=F7Y91}xNJW^=6Ene{ktEfq|s z1O=%)ddBldnw4=9mN=IQa2M1=-b#b3>AwjnB}qR6Ifq>NDowM^w{u1#fYI$mFg()vU- zFw21@o#un*BGEOI8XAgvK*vyBG~l92^^0;P6g7k4hy+Wcnmnfv8PP^bV@*WrOqXwy z{fN=xG=dwZa;hK@Ekm+Q)sY$VD(0ji>IKcFDgzx-D!S4sFSOJ(BNKmc2@AJATD)S)Tt7O)vG@=E^$6W0hUy;Aj)~q}$Bs%+r za%5z$(9xn>s;TMNJrRlAt~(oe)HOq2UXGfvSjjGWt*!-|gW2xgv%zLy-X64Su2T#; zOPBZB>z)&Zt=4_!uz1Ab#&o8g|A4|g&TS;RBH)R_1G?&4sa z05lnHsRJs>4tpY_9zCVb%_y6j2M~s{P72S(nWYvVsI|KVN{1;|>tmUD?FsU@g%d14(T542v{SA#aqV)~&SugR+rs006BuX{Y^q&~C%HpA$ z#VFd`#bO&IyP(_V_+Y=$R2-aIiE<NMAies_rAih^uTb9unbR8hE0%q`Xjxjdy88N(B)LIkeH6SP3~>yzbfH_&W!A0ju^mBjbG zvLr<(&WP$|C#p5ksbe46vu8Ev9+NfC?R7ZiEZ0{sLU7ci0(y{zsbYaRg77`%t^sxs zr57~Kc-+JiigP9BHdm6JP|qi+AJPOR{lwXeqbUuXxyRiJF{}5aRq*#nQ_|C&Ldy(w z<;pAFh>63?FZV)O$LZvE*J|5esjaQmV5PQp=Ky^=uM+-9*h|ZntLgIOaW_=qO5HOK z9kCo8A%^_u3-4e1+ua6uOR^f;u7;Qsf0svN*~0JrOYl=dEUc3LW19#-4*)il&K+q4kXNLplRwP_UU2A~_8I-agm$$^OOVKJ^N z2f<~&?r0hqGTLX;@qOPlWhq!XBFTDMT(65(U{(QFw7F4*t^3&@-2Q)i9Yd1LmhNBd#(`^C3MZ9E_^4<3@#A^M zG=ow|B+*nX!wq69(37=94=!EPs%cu4N*4U2B^f`t z)oRuARY>L+r>5+ada{)Z8>OqA&Co1lA&)b zJ5U7tQ!8k~1^4_vpZ~h}Aop)woUslIuM^%OykGc?@F!qE0)4mwegJ+DZF@c)QibT8 zaAZ1U2(!`JVbh~uiru-(i73^ch~|mvUlSg+Q`2cCDx`lir5f7)bVR}fToz(}C>Npu z!L25X2GJl*2BSVffrKDD*WTgPI6a`MPl|#g#+}R-(SUjG&!ju1r7)aWCw;1TA`Nf) zir8^BajZ=TbVlwfEzUU}G-DQx5;`QO;+){XqFV2q_HV*MFoN~ffjZ)x*)x1k%1^pT zH|ns-3*U$IdZ$z%Je%}WbnK{7mIOW$oX)2?FA1g(4R*fvAbR=Np6nHSFii7*Dna21 z;<*4#{u|YG5#4?JmIFp-S~K$H^`)kk@2Tk(G?3Y@W^s?(+|WG7u}wpl^TWHE-}^`3 z0iXCaK(7bH0#B*3Zd`ZBF_jTas)@_&q6B6OuPy%VVy1&XmU%YSooJfZ#$nz}0$U>$ zEZSx1rtcUCBXRpASPD>{3b=+sb$Fttqg~YJDYv?=$)awFQ#FhbHmG4N%PTIMpGZ~^ zJ-`MP;rJdUUQ*7kg{GguR0(2P%;w*K`S=Z51t|SzT0pZ9eHaBr@~Qj=LULnTc3Cdmg$QQ0uy2cukJbbGWH9cvG0l%xzq<$(`liOxn9 zRfakREeI?NZ&fZCunVAKN%N|%37)@8nZ*(ncA+B+OJ0BtQr$T#FPqX9I zbzu*UK=NeB$>Tww=)%@~@3cc69|d8sLv~hSI_`2NDVi?7@}}j@&E>bDKk7XeMf}Or zewzB9woLO#kVyv>T`{$LT=yM~UffE4eDkW!w3#l=AEM|!Ya>>4^*+t=d;Uh_BS|}+ ze?JZVwtwXDiU(haQnV5Kk2`DykrM0oBu=l8DO_rdi*50|ep=U>B90*EO-$!L0?q39 zGHa@7#Hs5?K+O?+G$j_JvEec ziR$jCN>&zSHpxf|M>J>pPFo1OA6t5~v z8YBG?VCEw9fg?b(JxWzKyr_x;#KI14uN3i=q~al^s$v3DEKjoRj2WduQgK`yWRmI2 zjlp<~2vmQiiXkUX?nWADqNQlMpz!=B5$EX+SIWIo zcr6S9FF{VO z4AAVrcg(FVqgIYH5R*bdh73nZsjBU7>yGDp2tM?SZs;F>%iVD&V{SA#xpv@A3;ji_ z95?p{L(4d#s%1O)V5wL0Q0mKDKGDWOZ*n^7RBP?^6xOY1lTuUq+;>`DHX^zNK2p613;| zyL$dS{113YaD+_g3)dnZS@6TcXSY51Qa+p3Q`R;_ItjQ0YcDj?4T=5R; z(v6bc;2BN(yq@a6scDZ572PE-zhYQYuwiaQVYM`5Su|SG3)&yzn?A2;zljfT9~o8k z0oJn7GPL#kd!39>y zbMs6+kPP%Bk5#^|Je$`9PWT%0EawZ$-%i3X`JL?pPwA0wnsS8QvxHDK&TKs@)}WcX zsr}YUY1|0C)QtzV{^PZN_SJahGusE?+~YKQ4xEx#{jlAHDmg zw?xJ8&TDV~;lY`UyRB@!FkW|$Ugl+M>7*A_LgUKUy;hc4s~WBr8vc{TDw>|StV^P^ z8m@-nO86$K3$7OFZW&g>QWFjAfzAyOTUL^q);(9Bdi3tQA3b&Tkz+r6`{CD2#X+l^ zuGe~FsFezh!g{tbHo{6UkgoV+t<`R-Wxr84bXqRAV@-+*RrlQ$Ezh;eh^4KvtR=0= zd&){R?>OqAR>wBe)U@LSdj!LIY&X}aFAHs9BJ8DT=8o;4dP;G^sWmBVg4bVavo2ou zS&DzN9J@faLx9M-Ls~=L4@2^)IZf*9>2H1PW8eDN=dZ8&RX@&Sf-y?F_x5AZ(cOBf zt(mRlP4Vj{r<1gTFRO}orp8#U==9M0(b0UTPHe$P9{JoOk9_XWV6Pn4gD8&>#^;^w zuRYUl-maUQ|G`?B)xn*otW*cT|C&4ioqw>8lBFXKGDSGYttNnDWW zY{YZ6@UK10q!itM^y(%l*Dj~zqD-V1fyh=i}OG1yDB#S{3qp7Ul zbI-YB$4;I+Cz?UGR9-?eckX?nYQ%O_62%Ir)lS(`&&jHTE}<7t1&JcxfgX-!nGjHo z=#I@d(Bn>Uj$K-?_VOUdj(SLngLt}7B}wP26*!ckyS&Q$ys&W-x80w}Nbk=xKRno% zj9XWNyw)%aCGUg3#EtA%zx?HITJ-wgZLO4g^)CwxK1a$0J4_=HxXK!*!X?gIBAUrL z?JJ+CIpNR+nNKPN91SnM7Q{2op3o26-a{Dw|woXh**?Ea1xl}}p2m>w=(c4D<+S%Mw3Jv1lxZ>)y zO3~if9qY#N{n^RYIPkX0S01Dwu@iV6v`poh7oFgxXDtyW*c?nMj4FcgJgP*m|AVa6 zm+<{CyQi5SryO@_Z1hEw_Vd=~rcb$lG+m6UQ$ zr8^nV`Tr+44AF5JERY+nhUdGglf%lGw) zPd@)1%l!l(>ErLU@b`Wf z&f#x=8;(td_=@<9z7MA8i4oP*^g^c@Q0Cr_h#_B4q6yuFg{&ekDD8AP%Vs{;znwE! z^*dbipqZ1NE;SR8U-4eJ8%F(wP9NC}>S2$-nSuuH<2T;&qnr;#FBrCI1Cz{3O;)fO z9F`?$#>1LNH6Znr#Hd_vZMRdZ)hb?@Ck5~&ePVPFeV>?L(uj(~q_m_gwYeIsDB0H_ zDz+Pg$JHIP32djtW;1 zI=e9QPe$a#}*m3pP1WH)cUYEm~Ie)IOcWqbk4f?nFscy5>@1&t_~FxgZ`-_ERF4$UyDl72#XYeqikq9FsK(c_DAB70 z^dqf~RjE7&CS4ndqN1Vn&ib#`32Ht>L zm+JXN{-@09b+}{zmmYq6a06U_$zc1l_9!+tayux*npSJJ8)dD!7mf@rNp9SIE4bUA z9bDpfOeG4fV0^@nmh08nlL@E0=YJ3W4t^1Pgv)cug*Hps262~<_JfPyTS~jRLg{yZ zn`M(PR5#!Ap3UkPzIMl_u6ydK>plg&m6hxMb~ya?(eRz`9FFdI!+W>?p!4MYPd@qN zPVVA!JO=LxD}vBkU@?x`+6}+a_F2rw>AcizKEM%sjbf-L=)pv#acVVJ=Vr4>k&xNT$+XeAr%x@W+laGH5X<2=oT5`( ztJU78s&b%vKjGw)@}4 z!zDF5;PT54#W$br(*a*=YO1Eci+ zowhLL?h1kD{XDIHG=zj^+PVM2hlvY6^q?p{BviQE6BO(Lfoa*}mIlTV`+Pnm$O=>gN4g`kn9+>7G_G^$i(T45=IF2QI6(l ziU=;pYs3S|X;OmU-ToqMU3WSw9)C@Dd`P^%r2T>vW;N3qT)#K9?!WoK>$2*fc;oe{ z9wx7MV>f!u^pV|-UbY(H<>^csul$kC>3Cj`K^hJR(Si}v`z^v@l~jNPTJk)E@VoK+4i5*(8 z-%KnkbVE%uysLdj@(SGo8XP?^bf?<|a7!l&)p4l}|I0K7St&0-GD-`%XVttyWW+{T zG^}{DQalkPwiQ5>YO1a2zFoY{baltnRrLd2A$BG2ieI@tv>ih~SbgTeeW&UA8RyUQ zHTCDfgDD(>lkiG-9lQ}f1fPJ<>_jeNf|)OWq_&`niHKqZIc?DfLQXz+y!4T#j-2tQ zFMZrc@iB_-qh+P7`D(^~KGe-&B)xV;V67j);#~@LhghD5j-1gUUV{? zcE+9V;@OY{8dHQ!yal_IEIiK~O9@=y5s9IFOd13`zZ}iVyulng8~+$_t%{wU&m!(m zFXW#^34BkQ^BxyS(x50A6u^ce0ucuE02+uXA$7zjF(^6_Qu>H#N!1y*5SDDg!r0na8%|K{0b@%x{x#7q!hIMqXS zT|1$9lE_%vhjmH%fTqM0s7*?$sITd^jyt>$ zZB_zh|Fek{0^}M5!R2|G0#Jq0zTmf_DC-)UAtAu~pl)jt)z1DWl|HBH`WL_7ca|X) zIlbnK+K9cRg<|<-mxI0dVi23-OB)E`;JD=(4k<8s{e*zl#BPdlBCNCwg|SfyyP4DeNsV} z7}Ir6(j{rBK0)_dE-HCwM_IL?X^|%>;`eOy6Y&F|S)ubdO<)j z?(p8sBXs_#AI~Ax2;W^klAd|&%$Y+b{-Yd?|5fV!;-NG6BHSpgZmmVl z7$-B+NH)y)McNZ&A%!-#dZT?bn-i>j*T+Bp$KU<#*|T3fdsg`Wgnn&Ic${NkWME+Q zX7asZoRt^PZ}XLbn~4DgZVQ$bL+R50@BVLNYGr%?{8r2$-V4D0{^c${NkWME)C z@c#e<15?BQcmF>!wK4!jkOAW%0J+i#EC2uic$}3~JCYMI5S3)(ncejouNPyx)__mI z8I+I_a126@pd*lx5)%<_M9l#>0HH%NhN1|TH5T1ZEvd(~2~*XjQLBG?{aVh*_sJOB z4aFHqYkS)FN*~M=|NCTPLs>`8o0$zU!fpI8Il6012O*$*J zP2l&Cn1UUzFQtx4TCe4QLT3}nHO{q2&WgQ{5odjkEx59rVehG)+N;t-TAi}x^A}vR z#x&zeGP2*WXDk;vj;nXwQJ#%6@h|D0oN$M5P8`VjgfEQ$c)+b>e=eBj`dZcR>R6U3R=Cs0UdI-F!tOQwzh%F8KpnS;^Az@b>OrmD*pFhj zuY0mNpijvs-6i*;i$C2PTHlxcZUv7G{qHa{Ce2u?FaE|EY~vmMuc-DP8k5Wu`frrZ zSug$EseATHx{43#NxaJQv%nr0#y|EmV;ApFXD4$I`>(^d0{y-vY;qpq(ts}kIT|&y zQ#C7P*70^2+=*fk?>u}rg_}ldg`_?wK9pD^vY*RrHL_lSdx0=Yv(wryC!EMJsjieW z{>n4>zan+aSllbszw`!e2J_OHo54Q)Z-t{5@Ck@@o$p^}BozA<#hpq0+l(pA!jXIz z8s`Ci-mG{YnRondusvcW-+PI-E>J_9NZofz|I5r{ z^w^Z%axKpkAGj9{B+ufJ-q57ycg70m9xI>cv_29ZX5Qe;n1AdaB$EID0000000000 z09pW!0Neqf0q6o00@?#Y1GWSN1Uv+I1ndP61vmv*1>4ZIET4rUIP4(JbL58x0E5Hb*65Zn=F5wsEb z5=Ih)666#76nqsF6=oI67BCi`7XlX~7$6v87_J#^8TJ~?8+IHZ97Y_D9NZmL9n>BE z9)2F?A1oiLAv_`cBmgAnC7>n}CYC1pC$uNxDF!JtDS9c?Do`tKE3PagEPO2LEfg(O zEp#vrFjz3wF=8>aG88gEGI%ofGg>pmGzK(uHIOyhHnukMH&QpEIBGchISx5YIc7Q3 zI#4>=J03egJH$LXJYqcHJvu#lJ)AwxJ{CT5KE6LpKg>WlK(s+dLE1ueLcl{@L#{;D zMI1$PMk+>jM;b>?M`%cJNa9IeN(@StO3+IdOh8PmO&Cp*PIOM7PZCddP@+*5QHD}x zQovITQ(RPXRJ>JARmfHzRph}?3p{}A5qEw=`qaverqo||& zq)?=)r2wUzraGpQrs$`3s7k2LsW_>^s$Q!2t0b$;tjMiwul}@PwG6dfwkWq`xG=fY zx)i!tx|X`?yI{M}yhOb0y&%1ay|lgRzA(Q2zgEKP!=}eZ$-K%G%9hJ2&d|>C(a6!{ z(hAZ((xlTm)27rQ)Lzu!)&ABr)|}T6*ErX-+0@z~+Fsg@+g97o++^I+-LBpq-#Fit z-|*lr;MU=g<6h&gN@I@>dfl;>pbhq>RYY1OL=r@txM@K3t*umXfCEv5xTda~SdG1wciX7q73hPcUzwMM-ABx8D7z8!Izsn7 zbA@ugGH;;lZQ=k5IWAEk!2m-TNYoLbLGMF~Wp-r`W5m!jPw9;Vm0uRgU}$7LYRE&C z8M!x(wMr>=-$xQ%y7x(_Pw^94m*~;@0OuIdT0x)wQb=~?e$mfPwCu%$^HHC|zh&R7 z|G#3BGJFK+*yo@1n_WNX_`y64c4!3DN}I;6-G}?NF6dd%Jh2&}Rll{;pkkfCZ?|`4 zeMa;mE_9-@P)^-6ZtctpbZ3k-?=r$AyHgj<8y81(iY6US${nL-|3gY;we^wP^Y*il zr2Zq@fTVbAGp3@FSkV~ajB*UQ!qG66L9L08&2! z^#A|>c${@u1(@T=nVtW)Et$Hf2X;3T*bTFi%|fzaW@d(xRF`;_5Sx>%`raK{eAa4$Icu(&mVouKaMdm^{7t+ z3Mix@jc800n$iyK(sA0O6LgYJ(P_GXE~Ja-YIKIKPS>Do(zT9#n=YnH=-PB0x-MOh zu1`0h8`6#F#&i?9Dcy{2P7&RLZb_HYt>`kkoUWiN>DF``x{7W~x1-zB9q5j9C%QA; zh3-msqr1~R=$>>hx;Nd2?o0Qh`_lvHf%G7HFg=7GN)Mxl(inXV5e0 zS@djr4n3EiN6)7h&4f;*`E&2}qHvJC$F8v<;KK%jxA^j2kG5rbsDg7D!IsFCwCH)os zHT@0!E&Uz+J^cgyBmEQoGyMzwEBzb&JN*a!C;b=wH~kO&FMXFi0GNB+=K%*C@{mV7 z<_S-Ehj;ln@9_yf$*1@2U{rLX;0Dd4ph#$-k;fM0W_~HBrek4DNAI*>9$MWO&@%#jSB0q_r z%uiv#F(;g|&G9`33w!ei6TzU&1ftm+{N_75qwm6~CHa!>{Gn@$2~w{6>BgznR~{Z{@e~+xZ>* zPJS1^o8QCl<@fRX`2+kx{t$ndKf)j7kMYO(6Z}d36n~mO!=L5P@#pyq{6+o}f0@6+ zU*)gy*ZCX#&0V)t&Pfy5vyCwF_)H`+)_T5a4+~YzWvZ&3Ou4*?H{IdptKs(bVEyx` zRu#IXb$f@k%_k=_t+PT#bnci=NeVeR(ltskccOG-`>D#Zom$B>s#T4nuj}0-Eg$pL zG_@##eXYwvgt5dj6S=!74;SjBD5u?X8!=mJr)KRql?x>*CyX0g-Bf8(=qBwiu=g<0 zsl<+k`*x<%6k#+nmPH`TS{dojeKS@M)k%&}U`dr++8rk`cjclkqlfC>(NYzvi2 zn|B8QR3>@9l|>!k0I-EE#FnBcqzjWIS|}@aP?iEKH;FLm1g%ur#AC(3AxgO#p6`(PgYE;k4P&wL?mky7Jo{dN5(nZYozbUUo9Iwg|Ar{UqM);!sIrqoio! zy~IcWc_IC1{(H`{QI>6? zSTPeu1xapnDZ?2cFw?66R%yhEZl@K#!&(b%qzMpCC-mUTOE0Zgfhfg+1~2I5;2>OQ z&|(z(VvV}VgL$44i3&X+KAnmk^X?Oszj9a(8)r2mK??)J>SzuYtfg^wtZEmafp^IOgr>| zO)%laHdsilmw*kne|S`-l&-1wj!x{E<+w-^keUK1MgDY#Xg5~R+z?p85Te)>vzaQC zaI)Jr8LaObcVDQyR6Ni!CT6Xw8f}oOL5l5A!OTslB7A<2Mv~IK?&{VfMKZb6G*L@RA$>jVVqo zwUfhIlub7n#VQv^04rK(sH#013^Icx>}O3;pFAQ4TLS^Q#Jo`s!UyJZ?e>KU5e%Zv9;rw3un-;g`(DBO zMLTn02|cfz4neyBoE@&|H!26H7&j_aVzkG04;&Jd>Y%Aq03ww}he&D9$Dz-}Xy5j# zy6jchy&Qm3>O$^r$;d+jF^6!PK?Ct{6GYO0Xfb6Q0w0KeI&7?Ms!HU+LI}v% zV4?i`oiOwk)#CV8Ew}b%nU{&(JM>vmC$}(^FpoitT$HQR>mphUQ5Q@20pZu?&B4@r zg>9oZE84z4&7QUjo<<~YDjKIT_Drp$>01cmVA05Z?}++mGG3Z6TJ6=%-V2N)m;F8+Ui=_K{sIXVk^!8zRr zNcX;sMH_-)VqxXbJ5QbZOpHM9UVvax)`^ut_C`KOy4*Q_MBdlz+7tC_pK0IRm6O^alOJYpe;Lb{W9GKC^XMuSf_5*x*`)m7SqD?dH+w-nnV;Z&BxaDhJU z6dt*1Bb)~!aeAo^kQO%5v&c`Hc$YPCIruE{XJjW`u1olWS`I`CZ!m^pY^ZnCnRbiN zpGrgpS`x70!czu}|19w4LEACZbOtYp>rF4siy_{!eggx42&(|kuA#D04At6gl&HXZ zV}|}d+$Dk!qAFxNHTbmiF33@TOGJ(aw&QYt5i<$gkd%Gfz&127n6v3Mwe2?+k5-r} z5X!_=JoYDzMZ$cK-~^l}pE`(}*$iG_?bW^a8{%4HI$ibGE*P&d{F}7U`vipUqXXQg z(yK#Tg5TQyQXEK-D_ofgv(A&dQKuh}w|pnj&Vjh#v7~4wxJE@)1fI-f56*LdQE?5n zO9kb{<;md6b9{4Qh+>0#I=B+<8VubDulH;xjwl1ddrqdi4>mrdjk$F6G=PX8Wqv@O=Df))ZFR$u&FGB%I4n#CsR8)+mY`v diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 deleted file mode 100644 index 1c640823badc78bb0a2f1b31f9eb6d3d8b29352d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77444 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 YJa&H6=2|tp#46fOZwi&E5xPRu)e-9ZK<~m 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 diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot deleted file mode 100644 index 1de96d4b92a43a0cfe0598d50446038e6e81a751..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34390 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 - - - - -Created by FontForge 20190801 at Thu Jun 18 14:52:21 2020 - By Robert Madole -Copyright (c) Font Awesome - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf deleted file mode 100644 index 3c0cf40e0e9e70622f18fc4fa8a7b8f8b5306d5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34092 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 diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 deleted file mode 100644 index 585a29db5ab907a9d6acee028d75f2534e286501..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13596 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 diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot deleted file mode 100644 index 5318231d1b25c71555cc10e17577a8be256cd292..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204866 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

    ?37MH!0WI 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%0AW?d=NET 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

    ?37MH!0WI0j&U(dp&T! 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 b$muU9;@@)p`~2JgIQEbKyxjgA_t*aeWB-ER diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff deleted file mode 100644 index 65f1d331a0c308a5517c4f2632ad4b9a6e8ac4e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104252 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 MY+}w2chO^vV8tzjbY@8?OBy>_T zoZ92xhe28+GC+@3cElc_<@#2G9t|>?H|=+l8Fm`y_J&=xoQe9Or5)2#%7g0~7A4Y+lCBk&d&^y>0D zgv{B`cks=Bu`c!MbdlG_P7TtMK-UHCK!l>{)*%WH1GKRR6DtD04U%ugB@OArZR%=* zzgWJmpx4G$phB{<)d1@Bn#&B+G5N!5J}2D-w8|g$qn=Uz(CxB0ZKeK8rlTnkF7D ziu03+f~nmZ3IHdk zAMDErs8^+tv-yE=@lpSh0ffad2$Do3P0PkJ#+Nlw;XvgkJv2rOgMe#Fju%|#Xh{2_ zKTwwJpb~RuFcUF+HcWf zGGLSXuLv-w z$#?JYrlLwbZet9S4a){>%!06n|2Mr%Yu&5$KmQy8jt_CIqK2W1Ya@}J(O-w!>GRcd zCFT~k`t1CImM=a5GJAUMO-dd9%-MnYd z&GAoJbIX(W>$lqOe@nXR_yO-cx>fO8M-QZhwCq6E- z;Euy@`z9~<)9vPIsMp-f615?TSS~F+XsXWbH#2PT^YoM)eCvks&tt{@W6CN@hE}^M zumouZvv!q~XHbN36G~Rca*^20oPwh@k27(JiEkbcw{vj}z=Y8p(ao;CgN@>*#*`UX zXgC5QIX-XRe>5UQ_;O!0jNc-L1d`P85OzT_+iVOD#q%vCM?%@%A6=w zz@FCDJsq3PN?v?H7THuUC!54<96ql2YcDeiS~rz>O*v@gH|Y^0G`@rHKK&P{oL~@O zv<8c1u_yuz9(48lm;3A%a%%+ZQMev;P!|x2FXGjR?a|%N34fL+Zj*5XAWs?4+8$1Y z>2`l25t-sYhnFL28rOs|6Hy}dyG@%qv&cD1S~E4Bs^#z`a&KE*H*(^l$HL<@za?o{ zl-C8?iEkrdRm^_L{o?X8(5u+DzSPyX_$Ma8|4(OHK#*`4x8^sx56!Ncx9W~!oHDMs zvud8JVwSQmi*Xm@f)aE|KkXqXek%5L6)|w>7I7#47P`6lNA|q=+od$VE2Zc3{5u%S zdUVg3d3P{`cbfx-r=I`{gwh9n_Q&q`8Kld`ar0RO3vDx_$&cor?x9#WE)T}0(4^bv z=lK>lHK9LP<%=KLKt={bdcg8ht}$gGk?%uwNDKmmU;a>9BzQ zc@4c-{1SfCsi;CuPIN-;&R2pJ0sl6VxWbfyf!vOh)YSM?sMQX-i{yzGgQ9MsG#(TS z%Si{gWW(~bwaddj%f&rxt?DG%ioc&PfM(4SK%AR|+KMYY_mQrlhzlrLjSFV&IO*bG zzRO802T%ykm!4rN?{J71L4U%VgTX1~dFVa9Gz|jSciqO}yy~<`kU5rJIbd zX8g|-gz0cd-jtui_tH+CPh&H~@1-rO&O5egSrrTntN7xfPqfd+dfVP5E(kVLcgXgVg0H*u4HLDCF!99?hUhyNHVj~kqHx#zvi~ivq7DkNMJVTZnWyQCiL@s z6d3}HR-Hb)WGOBOb+>TD>^8ir~ATwJ23s zD+x5G;$l=nLY(q|MO>P@D~mZZs%U4xPTS|1%&c9~-1PuC2#Nkvnp1b+qdZZ>+DXTw z#A3fek$Ba@tJIDtkr-tBmJ%%a6vvOay2V!9mkvt4{F}zB)Aov!_j2mP(Hga4UBoozpX<by%ltwjSiKc23o9Y#dD{Dmank&Un z$r8qr<}hf`5Lz~D2zgnkVGwE#Qwb=6WY3^+Xj+)Ze@K~Bi%mm6hz=jouRkYOZRmzR z`H-8coJfSee0ok#o>P-26Y<3|M5BJ9Db!5k2rs+Uy)x!NdRmR zT%~FcwZh`xFrdGtLJPLV@z}K^^uwl-rOB(VEWWa>t!>-Fvg&3UQ^~BJ#-3k*pNOcy z?N^bJ_pG_PgC;&CmKuaFleI>&8f_wDkZr(jwqUf z=J?7T(tJ^T^KZ|K&FS!>c*>C1oP+ z$R#Sr4VkHTe09}QDU^jkiZQTjS#*?dr#rzJsMS(wI(LP)NbRqw$p=l#u8MhjkivTV zMkrti0+9`K3$iBvqS;Xz4EdMhUEm&$+s<9SFdOuJHS_chCL*1l<5GegM3O0K!O+iMO!zIP z0#TD(pQ{s75Ry$L3a2!_YgX}o`!G4?yHmof&1VT*xb$!B8ak`QYf}joLBrzV3a@iU z3L=K?lHL5YYAZboafiviP+m3|KM8DX6^2W`*o-e`x3~P`$0O^)n~?ALe%M^t^cU{= zyBcJ3%K66UxIdci!an$dP``Cjw;nS@n5varM zKC_I4M&gw#sNqA)mNzvKw?x>CfdRifYnD@PzG|U-I*=BUC=-9gbd#bFG-NkD%Fc87 zPk3?UtP`%{PW%A9c&qxJvMr@F7f0%U^TU!F5_b_25`N!H{8z%wUcLfcoh^Vl#u70- zqo70eRUQl~Z+p8emJlWgr&iRv8mVrSf5s?;LzPoDqjqX?`4hT_+8vDhyDu$`7)6|i z)#M@)1BAD;C~YN$LLY121hMiL7M8q*26-QhmnQ~17`0Z?sfg75%WTelnc-Q%>f4($ zFZh1C>mWa4#=GWiVL&jdmzc0i9h~*!BWRz~wrqc@cb@Ns%*{zZ+v?Nz{W`)HeX!7J z{r6BDSG<0~@VG<&HOt~muBr?Phams2NXc7ZJd#W>(Uwyvk25JQgn-gcO0C&Et&4RP zQIRT=JuQm)wHEKMzj!T2P^J8YMvPg!&CW#(KFg*4IVyob@>W$uMgxYSJ$_8%oYYONo zo=U#x#FoKIFpPOp9Gui6*Cj8;b-h`|Y~%C6p={=Wb5vFR5GbXq~XlwBS`5TK^| zQ7vVHxz9W;Hu%BAN*1m|&#Pzt98jP}#M9Y`J>_&Q08@UPtW@oorR9cpB8r4pE59<> z;Df&fwhBt#3#1e3?kQ?vEJnJAW)LrdQ(bxbxxR_3u;+@}B3*K2SPMU*2opC!SY1~- z)n$(yS^*xCUX?T_;c#1u@J|bXk?#+0cu#h&XW88WucZHaH->)+5qEzSzPJvcAq|qAer7zt_e%>G;$K(PVi(o8;AUcmgPWNa~n;| zGSvqrb2B~`V>WKY%p1g_<#7TdUGsQknu88u{)mjk@bWZcI|Ms8sTDg6(*{5fpgF>C zjLugx{rvVaL}DdVc@ibHD2ZZ*$4w3+JA}|_bwCc89Wq1XtP!08l)v?GEeMO8=)ZW?^o{rG#Uq^RrY?|Pw z@5FA4wDXQM&+npZfgaNbr!zb&D%i-Zv&VzD#_X`Pw;O$oKbBIK2H#lmD0k-2tnQz?)EKa6}dmGb5qDxw>XGHts7VAGA?w$V(-1aXbcTY zC+-G_yiLcQnJt0fuRsTnHQ&Pu6v^_BZqR)wXW_vvKT{(Q#g%+IyVPM`B(sjH@Atd?pk zJ5{b3)a?xeu8E}Mbj5WBx?4H|BlLT_e*L&80OjtqK2rXKgKl-L?G>(Wn7sy3dwga< z2$x8naz@nx`GThAAO-H&T~n4`0#26M!SRXoVI}a^*s70^9@i;Q*;JyIXeM&nmE1U) z9>u$jC5m2D8ED3-3YtN6?k^j2GQ^_rN zKa@;5w4nhrzK%0Sr3l47$%8uPHB$zX|=v+{63{`h|YbW&1?z#KF2x z^j;NI^9(|P%6){=!AdS%BPoc10=-l9tSuOZkXhl1`??;3|6XMiQAci(i>T>b4_~sX zB8I>qn={}JoX)r9ua40KPe&@VF3o!TsxL9%p5Hc%7MFhC-IYE~d#{4uEe~@PoR<25 zlzw&lc7cb4d2?*$A5AAErKa@{R16Hj4=ioX%S!>&zPZpSSIDoS%nYB|LODf6F1{E( zT#Aw$luf~f+g=K^dGFYwvxx!=+Et#ac(%z|7??nBm0#uHZX7osdOTlvYILzm7z9E< zw}%%}J){t@O&+OxlrMr3QP|}#G>@ZCIZ%}M9yOfBX@TI1@87%pv$V0qYml3K$4{P| zqI8c#r|vJ1C1TO!dcJ6d=ki@-cEE6!WI&Lc4xIN3lc30^Qkkbjrk@_Mak;KECS8&MT|E=Sy=15#dTfhB;zpW*1RIU-Vo3U`i=S8zvYPtV*)< zcMI0ihhnC5y5D^j-dZ_Hf<)$Tr=j4(F1Ug^9SOI^#Kd?h;c0gA$Lgrx*P7QBjn((- z#I=AM=Lm@X@jDD+g8MUH$z>m=E5ZeT2~mt#qk2~c<{ck{8kewh>7A5!KMOrL?d`;Z z8;>mVf=aYrk%^va?dkO(XHuV%R(a(<=7`OZ7rflU=O&JhM9m zPH+S=G_TGOFYRev!kAr~0WTMm-iT>RM-Uu=HUX|5O2hIRmSJz=Wcs8^zp923-DluE zU4YGa1k|ur(t3Y2wjUQMq{qT+?v36#sN|3LZUlut*(CTE!b!Q)J-67OLgQ$Nu#o92 zmhl`&jOc}_Ih%!O+>a^EaR^%+LfjgLvrD}s(7f3%zR9OIdM>!=1>7jP+3Q#;%Cb;$ zD{RuZPTn^!dZ=BUk46Pft6j*K3o@Ph(uUEv^4Uu>akbR0^%d)*ZD`)|&CEO_esz=a z54*9$V$;V7b`%uXryK8Trag)+@S`%xU{@v94kRExgzXqUpMO}$NXSPM!x=H@QD%hBJ$t*;3Cy3b_D+69U! zFVUCr2qJX+i^$8Aeuqt#;n+&)+k1B}aON~R5ht1}CIH^XvRcidzvD6}p=k$;D&&r$ zjEb1pZnY$**sP9)w&r%5t+>c}6$CL@*MedYdDX~6sqHm=KPBP1vd}#QgKBfa7Y(fI zx|9RXEm_>sT(G~KyLmBxrPY5Q!XtEZ19&|6us4>aewVgESN9X;W7BiFD;}I{3V*PI zJ9m0aPCRx4+IFd9{pUdK!j13x`jRb5)W>H(O$bN06&QE%FL5?NOT zDZMoH_(qOd~~X9H0tRB<|lzdkcC+qQLNNUKL{RNFzfxB&SAi5OYYMvK1Fs5Sj;#(V=Wow zN?82vn5`!JH9BqPX^N+tl6GPQ=bK z-wXmwG(ex0DT!#y*Sy2Hl=}64C-wtybfSs|p$CditH;!I1?b4RVjL|wPOjArL^(Lo zf^PbG>5dY}#Z%wMn^E8Bz7&OJZ~_Hh_`oqbYrstrapx<=Dc0z>SVs6)z5L1zXE-XGVc6v_0!{ zzYJeR_{Ctq3vEZgmRDP|?`|^CJqe;K9RSv4mY6eb6gg$ z<&m%Ptgd>vlg*fxJsm$XT=dbxXCY1U{s<%pFF?En5G1#)PeLha%bdvuZPz2E=#{n4 z^*0)EK_^qk$bV(>GP4XN$N$aIZ$dyJ_l)IUq)H7qYpxkgW@W}ZmbzX?$QiVj|PaVlUv9ea)^lwFrbFO7H-1XKkDb|V4HL}T4wbwIG=y;3j;hGix5>;Is&#T^|7_ zV8|s;AQqN28hcO*R`Ql}8k75O_a{Z>m0fPG=4+-{r|*Nkct!M2Kt0|2LUx2`@4>C! z@w;ZI{z&V`8FgBykDW-JKsW2l^2=}!JU4oAPswPmlMije`3TC>=f|kk5L7UH#C02e_gD6cAvTJ8e$w@*ZDpGd?HU#)>nDI{N9&;&b{SVA#F=b+!Io|a-=h2 z$VysW6%KTmHM&-l9qSCFmw;-~jGPS5B{g0XMSJ#;uFviLL450w>#r0KjmK#!YIXV?xq^||ro9HAKf~{DCn$$CqyZVl12|6Y9}7TRM<^kc z;2H;;K4e4=;dbzzUw=nx`D=u0#TS9swNe}=r=1d{mIK6G2l>vl@n{2xk#1v4{uH0! z=tZj?(ZRm1DnI}2Ni;99_EH^tc6S5m(d4Fidg~5^VZONTZ`uvlGz?GXp=Z+~_!wPI zl5Oq$p;{I)sa7zidHR0Au_F~xUm4g7m`WYAvbYN#o=3!c%9$k^i(Ufro8ZtuysHR4 zdQYxEd+_2#XnY9os$2o&yU*<$%JV2ZkBN_ac|REo;pC8J)v>zq5)T{XvfVXA&+sZL`)(YWh+2%klVHav*RwqI3*@9+PaV^;j3PwmWNTY{+ zMhc?e=~pYSo4ns@A7^-$;TFh&Z15k8Wn>RyBQuCS9M=6?0-RMTpxF_blDz*7Ct=(*@snm zlBPkykZcF3!9;eIG*zwSVNTUNWjUZY>u}~uY%__6f-b!|zZtusZkcP6y*%>NN=#6$ zC_1Xc-_ns)toYqjsim|sFG@?D-|~g>7TQtn@F#rY=9niR%0GbSloVT8j%yH?fO7ng z5E1&ploh!AMn6%76Y@DcZbe})0}q%Y2})m=%B&<3!uoX=LF3w$K6M@pfnqXCK@L2w zf7u97g)p+WU~NI`6j*>U@u5%#2-dPhrcP7ll5z3O79~kWE|Y!iy9`Zo@lu*|(op%R zQ*|OZ_>53PYv^}eaawzr+k zDc=5kI6_}VGJ?EN)3TFdjZW59sWwiX=AWK=N4dvd4(6jg$L)F-CRKW26w-lUb7bb% zS1a*5s~-VX!*qAIKV!Jnh#-HhUlJ*CAlQ<<#pemQ{n8#$K}uPaBX`mK<~cik3&IZ9 zch#?Mu>73*qc|;t-{0`hd6@1k@1OMT+DZbkpHk8<26Dn3`#^v6(df;0JsdYzY$%N~ zFISC~=bSwF>775nH_7=Paq3QDfJEZ4B)fFv#5>3Zm!Z#9uW=`*>12J3JA*^~z4n>R zo6NId&3iLiyR%~wo6A)*%{KTBic)`brz8`-glY3cD#Y8f&t5KelQ)m)PlD(y@J}&qmsGU_B8^cJj$;&<{(5v@d42Dpe zr2%KiGs<0x2n)n3POb=hW?I=?A&^4cI)#`i=<7;;I_@YV<%v-gJJy}#PiD-LWD)wi z=30F2@C)4=b~nc&C#Ui%ydE;G*}oB91oW`Zg;#UybiU$a3Ebj`ikTsUYP0lwpID<> zS_W=j{9X<#WyMEr|L^&=x>vI2Y6>}zq8-b*1s+HZv^T3!<7{v6KVlHr+55!>SfbB{ ztt3_{#s|1?TNYp*)iqbVfHE13mT=LUX9dO6v3C`wU%Axxd9ABm&UvM!z0!h-$%vGo ziTp}hUSNE(Z6LqIS~_f&U;Uk91-t|$joD@P%G0A}z1?CFk87=C;WT4TJd<2X8{1s7 z%ll7laLL#~4%zX-jexZ%96&8GldzD=ya9p0tyrwItN^s1_wbMJPWPjvuRFKxYLjE0 zteHci(bt*YHyoVD(u+NU?ASWt&t7I~=|)?AQ&E4G=k7#0L!GO`xLGubF)@JOk%f@` zM`h#Erd-e3H#SOiBW;8lRA*bK^$x!lL(3s-(#(q@Wco=z)Ey{Q*&&ld3(B+aCv~s% zMKy?3AVoA=TTqV9P=kulecOVBv{ZRXpNj!Gxwd+ zA9tUMT2e~a&P`WlLHFPQYBBa+8O0AI4`kYD&AKMg4 zn2ZVLWl1R9f1WE%asegcxUJ*%$x7;uU3$MkO_}eWE_dsVmf@np{BikG^ueH29*2-9 z%~EtByBJ9vSP;~WYsG#ky9bGPgKda!jr5MVPM``{maL=Egit=Xjo}?9m7Z%MAh%8; zI3mt0xfh#P7+VQjl%+S;!pgnX@cHhrherm(xV1wr$7QC*AD~k|;K_uS4j@;H&{HaR zUW=2dPd_qrJ4toeCl76*KH=YSl2@*p!y3qGXz2y79{Z1TQcLMfq^LaT-09+lV4!>2 z6sglJO=VYtm4iCzO1aEz{F$xFBAy&#Up+?OcH@39NAzS+MCQ%JS^2!b?#fj3k@O_< zVqj3$B*EOlr>4)=VZ-9U^)i)Vt4-Xdo*oXZqc6VM6%{a)R2|V-gAYc7${_&X64Np6 zbdPbv9d&I77Jtv9@P7)AxJiJI$<`uJL=}#XCP${l^~jrF5=F8ei;i*MB%r^QU%6<(W%*m|GB2X>VCSPk1$xC4OESoM?R4j$$kJ$|~ z+2D%b4ddXBu}Im)jSBkQa1rn|n>*UYyrBRs*-@+$l(bInG^NPXl<&YHO$%t9VD^#W z|C88x431o0piE~PU!I~#itRKGaeLZG&@QL#K#LmB}28}}pPg6<^ zW&={HN)@9=#-E&Bj>FJ~1MZ}D`hIT^`s1(_>2H&Iu;?C@3kyPs`n<+PIj0rs#-jff zSO^J2#|!7thIfwoPVB;Cj4@H<8OvxwST$M!_DbS&O?D1LrnKwF-zHeNF}E%G7*%2o z>L))Qt#V>^sxZTD47*8Fhf=`-W>zmAsR{a;(eFu=uS+&xibjoV{QLyX+=HR3`$S-= zt2$M^=W9ndw&EV*l7B@x`1ObyQ=30rVm$BAxm-UI3a))!Uku%(dAARc0_!QForP5_ z3~|)xOt!@K$~|S5VklAO9J>3d!v$U4i~1;HuzZ97#hu{()a!ASm?HvcGIfKq@wKVv z$TE9ta@XM3iFf4Xizus=6nX%)c)G7{Pru2`5fO zzWOjLNE)JEyqWr{1q^wbobCpS@5%FFzUMgFu&uLRCo!7e%E$Z#mXl6> zZ-(#z%@n!wLX*SgE+~7Xs5(jOocXPdW<-|Ft%RhV22}?3Q|>@u(m2JO|EN`Ww@wzP z-++!AX3J_ML z@ekLKp6bJ+aK1(eMp$@+lEwh{ao0e>R3V;3?{qM5w9i-o?_WWn(k(bFP{l_Wkze;h%$3RSa8@S6#U`R$5mwG^92?JnoZjC5lm+rdi0A=#!)%$WSLGXk$C$e8Lb zL+R1PuBd;yPwg^l$TC9mVur7%E2KN=W@mbpboR0jY-2t`a1)l81?<87#&0aK6xUti zQPp_Rf;ebFljksFDO-RsCl?dFIDTk#qB9$BwK?IcQbf~^2 zVtt2mm%pHb93!VxJr-}yS%pSYgl>J1+w9DdjuO<&1%N4fbj15+c^qOkc`xqBqeoZB$I;YLtT0rKkTm2 zpV64G1Vz2SKhg7LXC^cNa~l}%nc~o!lnPr)WFb~g2{~agmRdY~jcO6Z8XVXa07TB2 zntDOMBnQ{ND-?Rjf+3It7>U>WtmE1)BzVC$LZJ-jp7uTTXFJZ97v6;l5=T+{V~x^X z?xa0hU@zENfQh3tU3W9T%t$^oC2g85!SKh?-_VKaSxJqk`!SYrRS^bU=;!_pet!!{Vh9@8rZY zI%SuWvyHH0!5Otsb4f8cy*{C=+>^I=GSlMxFI*gl)RHGI1(7VB29A*@knx>x1;_y& zROf?=URQ=&4MmMF>#>qSf!a@(Ln3)j^!G+s_Mm77C{}}ujAakjA#%7xTNtDQ zT0`Ox#Bhk;=Lp}ALVnnmoUtfK+BD}~fNQQ>r$^oEbq6uktJMn)HPcr4DOq`z%hhU? zWcBDMWukwSP1#48;X!k3&|-lDKv2th3<^PDR-O=V~p zvoAP*<8H zQ-3+T$f>j4iZWA~t<%C3ebX(KkiCMRTd27s^SW|=m<Fs{J_?BWFNg*4rsP4w-AWTRCy-;zVe*7_` z5SDRoOU!#q*B>XMwJ{kze4)rd1&Fw_%6aFK(Fnl(#WKHxH_h^R#MtvzuNo|^eZn%N zDFKylgN>R{_M6N^sb6jQF++xVBU38p614!hkWyv>5=GyBhJk3*0eH`@5Ic z6`%R=9yjK;LzxYUcUoehpb|EMn7`G*=?e-k#J8OS?Vc0y?y%ZEWCJK~?Uh>u-iSkidhzj3b%`W!^Z-&UC4gnnOxbPvPTRE{$wq0?F%61vc=_ zVvx_DB%%O(PDKa1u3J4@6wHLhMoGn);Dq#PKseLMGzJiUmm47ML<-Rnln+%wXa4&* zN3h+Pk5XW$Y{vPQf1O_;piCO<<81 z*^dmh^I_O7hxFBR~bK^$><1eY)^b22>ii33wIye&J%ckj{S)Ibd^+q~{yoBLvIECivjP)?%3qetm z)N_;hNrIOHHY;5rd}qDs`Q<#=nKa32UVMv@uIN^|&H8$_98bH`AEgKR&H2ImoeU(! z!6Y|(!Tb9CD3vQqTxm=T2FE(z9ZUrzOLu)9axiS!Ky;BjbecysKcZ`vwWN@s=6kfG z3QhFcy2I9^V{w{0tC=lqP4z#wn!(X&rc-iv8`hNk_w_frTqt#J_0G}*fst? zJ58-qK)0gj5MWJ*<6l+l^(El7VsMt&478n`F_h)>rL&DUZo3?{@%)!Q1G!t>C|522 zeuwUdmQ*B3bU;rd4I!dd>XZv;v}z|tGMmv@)%+8xa@F3DfQ5mU5$)TY=qdY3;*^wd;v3V*{+6V3^n^>7YKX*_qF^0V?>d|{lqM{*1M}~RgR5HrFDH1bpnf!t;Zg=eH%STy2*Ly2?v&6IM?BAk- z`X5AjJf*UnZs56^dk~d$L`>;)BTN8ATtWSG9aeXG<8xH$Suj6)lZ4>R;N7FUnQmns z2w=(bW(g#_0gh87s9Q7O$j;W$hkSJ`pclA_*F$4Y>gr>=`@T{$gkjb%=8?&-YTAc?BUoxL6R{u(7Xi}DTd>Taim&P2EwyEKQ{=+t-LSMUF9%!b zTA)fSk542(r{MF%E-Y~xEm9;=*;sFOa>Rt65Ci3v^_-vU9#*9eg-e}5R&2aT$l<-I zuV^V#mXn;-YztJIhgb@_f0r}Tb|AMz&4U3V^H{1`vOSN3i&cWY>0(_#?7WBsVi4dH zOC};IBaiM@t2`< zPg&we5V=B}ISNQv z)|BL6fFUB3x(41|mT*cL)##;Zm316=*%2+GAl*DNHQ_9>Uhwv0&G}Te*X)et%&2CH zCVlR=+rl)ha)IOA0#1|ZQ_(-G3nSxt0?iJ=f{r0`@Nqa<=#@=7&`Of@=Fg(KUlE=< z7x)_!ky}mqb(B8JjoFh_)Se8E4KUkh-peFX4G?661iCP-nHS7bAH;7HA7T!aVgfzzN--W^GjhC<#9Toe76UQ1t z%Iv`}5KTKUSW2uE0B^<;r)6gKK9+~E?^a_cw$~J8c(2gco%m+0(MhT5LSOiA8b|Tu zh=kPFHI?dFV^Xh9z43-Xsy#33@DGAKfy41szwYGMwUXwoS{SY{ljwG@Bi}s1RF~)( zvqRe6M!rYhR+hc|*VJhfF7Q~7ts$R`^09_i7)Ouy3{SJ>TlQPWfv3RVDm;$0Q$or) zc7$9m>gH|J6TH0mr6lvvStpj5%vj*@(b{uk&O@hEye|-hb!diw{W;s3g0@^RkyatT z1KSKzLcfXutr7BFrKA_IKhi%tj~i%V=9up-BQMB}C|6DO=8oo!+BLExgkN+8L!-Da zQs&)HI%FCo=e)QC!*DMiealRAH0*;$7ur<#cODTt)ltHv3!QP3T+ivptkSeYi_0(x zNQ0KR^By*;k11Qf8lil5?V%8wWKN&xrjKd$W$zXpNeyax+*7l0s+ z1O}P!p9&HLiX4IAo~Pm+2C|jRq^w`aQV2|V968-JyV&o!4J-+y!UN==Bw~Uz6sU^U zhs+=u2j{8~piX55nlbohEdbUvitMZ`>SM zY>9>H$zvYpN$p9&P`FOi)klty^63Ax*-n*RUvw6^M#YeXYrc`cH?bW`9eGIJo{{i1xPwtCauZ~n@q1SX98qpE#fiZABYnqtAwTYvP-i&?; zWL!H1cBHRJ1uTBox!61s%BB;c3o--_{5CQ)I2`VW)YF!xI&>FEG8S2O9&EB6eflJd zIv|^VD5$z9xqdguIx*RPKI|eO$j$j-NAEJ}>Gt#X_4)a1AVQKbhG~XRn9*-o!=sC( zM~WCiDVMI1uUNvVmbGKZn8K)>zOnDvBB-7Hxw`~l0}*2hFlG@^XBcqmB9Ut-ux>K| zHXV5Rp$a)98oQ_}J1jbVu}VEOTE955=~qM3yJaR_`-0jZ4FrEyhrv;@`;F^A4j*1Y z^2L9}PaMG%OIFWc{DmkSx2~^mZgdNy#xzl3w;3&HAu=TSH-~Fg zMasT0M6i(G2KHbm!6W((?jZ5PCGr-|5Q)Pl_8#5=@?dV$qi6k2e z7UZogEiRYm#q@OkA8QB}KrFAmDfQox2@cTy&l!nVCrKVhmrT|yTt0^vO3Tc2wX_4}uxnD&*WTC%oAuN47 z_Uz0|xdsYj$d7_ueGFoVNMxCeY^ca=xeRs4NOjqaeeB46`4~<5Pn(f~Rvc$~%5@vh zR*vqDuaB>$Wel_l9(`CsRau5@+P{t*!aoXGMH;$ED%(vu{85WtRhzz9MD`SZ^6KXF zP-HOC{RekoB;nHe3ukZ?k<h! zMfk-A{Qoo5#W%<9?SHBGzm}$aTu@Fq*kAqNsDSkiL-;<^sX#p_c%dq>i1E0v)*m?h zua=0~3~=!Y+1PE3bDZpXj-^bT#|7NaoRIfLoNr>^Seo6zS{tHc!tm`hONj2* ziS_kOO?^tPDN_=J+p`b0N?w!b6&rvtMi$P6R+`K9^f51L`7daC*?#wJ#&xMT^b(`_ zn`#(*`ErQPvu9o|e7ZB5HSVC9NJxL_ zv|Y3y+drBICiln#+x4>Lxd&?}W4YG`NV2isVArgTjmDOXei5U5J{@{O%JV-Gg-m$0 zg;xW3Bn`vows&yh_^UTPA65wmY2 zvYh^h1}S`&#pw_43@{{cPfHxaOzEt&?*0UC42>bxu1Gca(@?vj_9P`+Gp=Lo4_F zqXddUFS8Y_%zG`-vmZj8_>Zo>!{#p4xx6dC{9m3wyi%S3IV8`Sv}ZNd)VSk)$!F&Z z7N1)x0SjAP5>40#I{rzsd%yT~CuBBo9J)h<$?rK;$h*pHQaeJ3H=q-TCiZsE5@Az{ zvaJ&xM{Lwd9o%Lj*}NDD3lxJxy7)%A$n%43KO_ zyepQAQ9hO}-APYZzrK-Okd`bNr$KU|*hF8I!-w#$8>3%KgV1XZlAUJKv4wA_E8=TBk+LV@v7h#5-5b;vVlIDw^l z^jUj^G49F`tyns@2iOyTRM+b8-tTB1YEbk)WTAE>l%*=${I1R1w9(2>m|E}kH3>xX zz!5^%Z9y-Im7}Sc$|3#Y_0IT{xBbh3C()Mdx@mX3$84t`^VtipcaV?Yt40HkOQ)$d z5y0daMdq~R84Yl%$UyV(U6tkQY33V`2qG6#U?jTyZk)!Ae%aTbz&EnP{nZ1|1e`Z-Vg9bqluWxkuBQ(eys zRVKL%YJ#PjyH3Z7+)$NbUA6smSozZ7-13Ph^oFnOVoj{OG$YEceKn7OGP6$JM&o8= z+V96q*qw{8->mW7)rpBUN7u4ahBf4>g%bBubk7Bb=Kwimn0SWa`tonFCWzR_=)CA+ z$!ffd%6|aIP>Ob7`+D9a2_5`1>Hye=yODM$X!U?yQ+ypWZ-XtM`7T^33wICLi(Jnb z-pm>(@}@A%;BHJS`5L2rQDCc`A<_stQe2Ik&vLkkn?%lqtA+}>hUQcDqm8B)T-s*t zmel_ajM{B*Do1bUqGU7f1WpGD5A-VH z*z8vxm?u^RjHV^)IuRAm*Khm)94o9CK%QnBqtHw5#t^{M z=a7|oN}R54=51D9CK#!omohiS^rwoHpYYe9w&`Yb;YRa6tV**vX2SP72|&}>_Z#@i z^h{;O6Oq%Z>nXD?VVAz`AF4ZxnmcI*5!5>Ed>@W+;Xqw-k07`MEQR05=8pjdq`zwR z^GBONNz&x0w6#QYm@FZ@P_O&|vV-(|AKY~U8Tc%b=X*6BEJp}k^9?fELynxa8KOXs zAMO|HKskjPW?9?;aT=J&N@g|1SY%T`2ka`YFIc6r6~qcA^8sm7F)_2)ijVxM7z#UN@PjRM_&gQ7F&s(k zV7?3Sz6yWw4}xB>6D>u|AFP7FlDNWT))l-r zS1%v>$?u|%n_De2i%BG_JT4p?v_tiJhmY9k{(}T#<>p=uQKt*cQv?I~4wLpxC{D z{2~qA4)cvA+ws1d_09;}-Em&`x;E0GJ{{Jc(Z=t1eEcGp`A04WU-u>C%N7)8v-C_; zxy(A1^}v-kmVIBFNw1NFN*6#uwV0L3sj@fv;lQH!TB_Hh1rvHm!?oSlm4BKlLi8;8 z?O>#k)(V#bs@q0!s;`gserW}5yTK?=?zrh1PiORR$=Q6OAph#&I+^oV~$ zLRn_imdq7CmSGCps3kkU|J$5)%mPuCWBu!g$>9kg<-tR^A5$)qiUb}!3*h@&slblL zd5Rp-ABAt`?kPc0u9=Dba#_J{Ahg#fo0&IJ0Wz~)GL;gXvnxejIww5N`o)S0C0xUZ zeh3b?vsvx}xGIq=Bq)j_$IXx`Q`)ruyKR}j5Ey}`k2PyK74Q7ooRFv~YbQ(iPv&PC z?m?Kqk{tYVu~@{A!$#s%f4%<;(sR{8U2QYRItQ}~g%!y!eaCPPSv~|q%wDiHp8Jho z**ZRTj*P}K?g+-grVJ%N_3Be`Odc=P`}Qz)(}5=65Nq^4K#fovTx@z=-ZzoMRg_Z{ zdg`MO+S|r0faE>8D4AoJ`A?>L`!d}byz&KZ`Ge~uq+{U&OH|-_^BZyQf?2LWBVnMg zs4|3kS5J+JVrmM2CfERy)hE)%i;vODOn6fqrxN7@A^57$^`$1>`9`Enw@Tm}MuO@c zL)1*RN0}6R$CFZD0t-SVwvGVT^UAIeo+KG>3+Kxr*_OGI5|D~JX{IY{Q>&cz%Wk>a3V2P)aNfkst5j51)P zxFb#d6fHNQ(|*+a+2mp?QN=w*{**E^WgH`#G%08=X4i#R9d&UQfdUb->+)kYJ*5{8 zR%CL4!zO0tjKOW2oZ#IYk`Pu}*{O^@?o-5X*9aJCrID&_fAi~XbNv;n19V(R4kp%u) zHFE7>=aPegf89O#=-kWJpHPa8ArP%6M2*fO2Eb0OItkMr;C;BKw5RMqOV*NR^h1Nibnv9mP7QBB zcJ_REH7m%9kw-Ab>eKOS&N;+W_C&);i=+so?v6Xi^YF+6a3N7MWvbMs(`8&=4c>$9nEpnA``Jh7aXLw!h2<><3%6C=j*c?&e$emd?GTL0>jw zihDw3<%-xLxMCnep{tcp|0-e*oTt%J z>*!!`s13%ne{~W656Wft&$q&;Dy-3d=Zc3qlEVAUMH8o@LDAR8vA4{R`;tBhHTY^_ zS#!)G(K){N4Rq_gfjvVXx22BP!I^e5#wkYedfGZV8l>n&R}ChmwYl0eUCeiyd%MLg z33t{vp&!OZW9D=gN6T8#(I>Dg+1%cw25e$W8g<;%ang95#QOM)FmiFvEbF%$Ot434 zOX!}vqSKJU0(!db#f~c7ytAv^s7#;mLCl}(cM9`qOI7=WOPciGr&o)#u?OJQFEBUF zverSOA}2**>TEt->FSyiVQiAZUIg+s9i_rZa05`E~cqq;x)ZoM{O zdIik$mN+Ax0I8*c7I7>K{bcytQ4@Hx@LBRG>KbyEuefK0zI^$RasW2{NGI*KJ`)9N zf?bu+U^Y$nvjSq;Wgd$Q|vAxXiWpE+ybZGZJrZJ^w%K>WysA&!ferv=TvbMG4lZ(SKwwycpOAc zvvt}uBJcxzEHJ|aC-ydFblyTWsIL4~zLC!L-5=5P`%+^9^&2!>De)c=#fVM#&>5^_ z8J931B(?qDH$m5ybarY-;(*7VO4`(_Xs5rr8+=J8SUq=Jo9V#^8>pBDK*kSC6G+rw zF%+_ViH|k}_~t$srEk?r)cFh5yd(V%Ri(lx(Y=glf)qf-pxsL3{(~4xN9Z+)MJ`%Y z4sC28)B}fn1NBaSox;VLD6Cj57TAuLOmx4UYY&NC6&_X~2PH8KU} z0fQYdBlyNBV5((OYIc7JmK@fxXhs?wj5H&7gQLt{= zpGif}L~)EsOOV-!XqhBr4l=@J)T6#&tM5`Ev4zV3@gr@>R/g, '>').replace(/"/g, '"') : html; - } - - /* SECURITY ***************************************/ - abp.security = abp.security || {}; - abp.security.antiForgery = abp.security.antiForgery || {}; - - abp.security.antiForgery.tokenCookieName = 'XSRF-TOKEN'; - abp.security.antiForgery.tokenHeaderName = 'RequestVerificationToken'; - - abp.security.antiForgery.getToken = function () { - return abp.utils.getCookieValue(abp.security.antiForgery.tokenCookieName); - }; - - /* CLOCK *****************************************/ - abp.clock = abp.clock || {}; - - abp.clock.kind = 'Unspecified'; - - abp.clock.supportsMultipleTimezone = function () { - return abp.clock.kind === 'Utc'; - }; - - var toLocal = function (date) { - return new Date( - date.getFullYear(), - date.getMonth(), - date.getDate(), - date.getHours(), - date.getMinutes(), - date.getSeconds(), - date.getMilliseconds() - ); - }; - - var toUtc = function (date) { - return Date.UTC( - date.getUTCFullYear(), - date.getUTCMonth(), - date.getUTCDate(), - date.getUTCHours(), - date.getUTCMinutes(), - date.getUTCSeconds(), - date.getUTCMilliseconds() - ); - }; - - abp.clock.now = function () { - if (abp.clock.kind === 'Utc') { - return toUtc(new Date()); - } - return new Date(); - }; - - abp.clock.normalize = function (date) { - var kind = abp.clock.kind; - - if (kind === 'Unspecified') { - return date; - } - - if (kind === 'Local') { - return toLocal(date); - } - - if (kind === 'Utc') { - return toUtc(date); - } - }; - - /* FEATURES *************************************************/ - - abp.features = abp.features || {}; - - abp.features.values = abp.features.values || {}; - - abp.features.isEnabled = function(name){ - var value = abp.features.get(name); - return value == 'true' || value == 'True'; - } - - abp.features.get = function (name) { - return abp.features.values[name]; - }; - -})(); diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/jquery/abp.jquery.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/jquery/abp.jquery.js deleted file mode 100644 index 6f8f5b20..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/jquery/abp.jquery.js +++ /dev/null @@ -1,404 +0,0 @@ -var abp = abp || {}; -(function($) { - - if (!$) { - throw "abp/jquery library requires the jquery library included to the page!"; - } - - // ABP CORE OVERRIDES ///////////////////////////////////////////////////// - - abp.message._showMessage = function (message, title) { - alert((title || '') + ' ' + message); - - return $.Deferred(function ($dfd) { - $dfd.resolve(); - }); - }; - - abp.message.confirm = function (message, titleOrCallback, callback) { - if (titleOrCallback && !(typeof titleOrCallback == 'string')) { - callback = titleOrCallback; - } - - var result = confirm(message); - callback && callback(result); - - return $.Deferred(function ($dfd) { - $dfd.resolve(result); - }); - }; - - abp.utils.isFunction = function (obj) { - return $.isFunction(obj); - }; - - // JQUERY EXTENSIONS ////////////////////////////////////////////////////// - - $.fn.findWithSelf = function (selector) { - return this.filter(selector).add(this.find(selector)); - }; - - // DOM //////////////////////////////////////////////////////////////////// - - abp.dom = abp.dom || {}; - - abp.dom.onNodeAdded = function (callback) { - abp.event.on('abp.dom.nodeAdded', callback); - }; - - abp.dom.onNodeRemoved = function (callback) { - abp.event.on('abp.dom.nodeRemoved', callback); - }; - - var mutationObserverCallback = function (mutationsList) { - for (var i = 0; i < mutationsList.length; i++) { - var mutation = mutationsList[i]; - if (mutation.type === 'childList') { - if (mutation.addedNodes && mutation.removedNodes.length) { - for (var k = 0; k < mutation.removedNodes.length; k++) { - abp.event.trigger( - 'abp.dom.nodeRemoved', - { - $el: $(mutation.removedNodes[k]) - } - ); - } - } - - if (mutation.addedNodes && mutation.addedNodes.length) { - for (var j = 0; j < mutation.addedNodes.length; j++) { - abp.event.trigger( - 'abp.dom.nodeAdded', - { - $el: $(mutation.addedNodes[j]) - } - ); - } - } - } - } - }; - - $(function(){ - new MutationObserver(mutationObserverCallback).observe( - $('body')[0], - { - subtree: true, - childList: true - } - ); - }); - - // AJAX /////////////////////////////////////////////////////////////////// - - abp.ajax = function (userOptions) { - userOptions = userOptions || {}; - - var options = $.extend(true, {}, abp.ajax.defaultOpts, userOptions); - - options.success = undefined; - options.error = undefined; - - var xhr = null; - var promise = $.Deferred(function ($dfd) { - xhr = $.ajax(options) - .done(function (data, textStatus, jqXHR) { - $dfd.resolve(data); - userOptions.success && userOptions.success(data); - }).fail(function (jqXHR) { - if(jqXHR.status === 0 || jqXHR.statusText === 'abort') { - //ajax request is abort, ignore error handle. - return; - } - if (jqXHR.getResponseHeader('_AbpErrorFormat') === 'true') { - abp.ajax.handleAbpErrorResponse(jqXHR, userOptions, $dfd); - } else { - abp.ajax.handleNonAbpErrorResponse(jqXHR, userOptions, $dfd); - } - }); - }).promise(); - - promise['jqXHR'] = xhr; - - return promise; - }; - - $.extend(abp.ajax, { - defaultOpts: { - dataType: 'json', - type: 'POST', - contentType: 'application/json', - headers: { - 'X-Requested-With': 'XMLHttpRequest' - } - }, - - defaultError: { - message: 'An error has occurred!', - details: 'Error detail not sent by server.' - }, - - defaultError401: { - message: 'You are not authenticated!', - details: 'You should be authenticated (sign in) in order to perform this operation.' - }, - - defaultError403: { - message: 'You are not authorized!', - details: 'You are not allowed to perform this operation.' - }, - - defaultError404: { - message: 'Resource not found!', - details: 'The resource requested could not found on the server.' - }, - - logError: function (error) { - abp.log.error(error); - }, - - showError: function (error) { - if (error.details) { - return abp.message.error(error.details, error.message); - } else { - return abp.message.error(error.message || abp.ajax.defaultError.message); - } - }, - - handleTargetUrl: function (targetUrl) { - if (!targetUrl) { - location.href = abp.appPath; - } else { - location.href = targetUrl; - } - }, - - handleErrorStatusCode: function (status) { - switch (status) { - case 401: - abp.ajax.handleUnAuthorizedRequest( - abp.ajax.showError(abp.ajax.defaultError401), - abp.appPath - ); - break; - case 403: - abp.ajax.showError(abp.ajax.defaultError403); - break; - case 404: - abp.ajax.showError(abp.ajax.defaultError404); - break; - default: - abp.ajax.showError(abp.ajax.defaultError); - break; - } - }, - - handleNonAbpErrorResponse: function (jqXHR, userOptions, $dfd) { - if (userOptions.abpHandleError !== false) { - abp.ajax.handleErrorStatusCode(jqXHR.status); - } - - $dfd.reject.apply(this, arguments); - userOptions.error && userOptions.error.apply(this, arguments); - }, - - handleAbpErrorResponse: function (jqXHR, userOptions, $dfd) { - var messagePromise = null; - - if (userOptions.abpHandleError !== false) { - messagePromise = abp.ajax.showError(jqXHR.responseJSON.error); - } - - abp.ajax.logError(jqXHR.responseJSON.error); - - $dfd && $dfd.reject(jqXHR.responseJSON.error, jqXHR); - userOptions.error && userOptions.error(jqXHR.responseJSON.error, jqXHR); - - if (jqXHR.status === 401 && userOptions.abpHandleError !== false) { - abp.ajax.handleUnAuthorizedRequest(messagePromise); - } - }, - - handleUnAuthorizedRequest: function (messagePromise, targetUrl) { - if (messagePromise) { - messagePromise.done(function () { - abp.ajax.handleTargetUrl(targetUrl); - }); - } else { - abp.ajax.handleTargetUrl(targetUrl); - } - }, - - blockUI: function (options) { - if (options.blockUI) { - if (options.blockUI === true) { //block whole page - abp.ui.setBusy(); - } else { //block an element - abp.ui.setBusy(options.blockUI); - } - } - }, - - unblockUI: function (options) { - if (options.blockUI) { - if (options.blockUI === true) { //unblock whole page - abp.ui.clearBusy(); - } else { //unblock an element - abp.ui.clearBusy(options.blockUI); - } - } - }, - - ajaxSendHandler: function (event, request, settings) { - var token = abp.security.antiForgery.getToken(); - if (!token) { - return; - } - - if (!settings.headers || settings.headers[abp.security.antiForgery.tokenHeaderName] === undefined) { - request.setRequestHeader(abp.security.antiForgery.tokenHeaderName, token); - } - } - }); - - $(document).ajaxSend(function (event, request, settings) { - return abp.ajax.ajaxSendHandler(event, request, settings); - }); - - abp.event.on('abp.configurationInitialized', function () { - var l = abp.localization.getResource('AbpUi'); - - abp.ajax.defaultError.message = l('DefaultErrorMessage'); - abp.ajax.defaultError.details = l('DefaultErrorMessageDetail'); - abp.ajax.defaultError401.message = l('DefaultErrorMessage401'); - abp.ajax.defaultError401.details = l('DefaultErrorMessage401Detail'); - abp.ajax.defaultError403.message = l('DefaultErrorMessage403'); - abp.ajax.defaultError403.details = l('DefaultErrorMessage403Detail'); - abp.ajax.defaultError404.message = l('DefaultErrorMessage404'); - abp.ajax.defaultError404.details = l('DefaultErrorMessage404Detail'); - }); - - // RESOURCE LOADER //////////////////////////////////////////////////////// - - /* UrlStates enum */ - var UrlStates = { - LOADING: 'LOADING', - LOADED: 'LOADED', - FAILED: 'FAILED' - }; - - /* UrlInfo class */ - function UrlInfo(url) { - this.url = url; - this.state = UrlStates.LOADING; - this.loadCallbacks = []; - this.failCallbacks = []; - } - - UrlInfo.prototype.succeed = function () { - this.state = UrlStates.LOADED; - for (var i = 0; i < this.loadCallbacks.length; i++) { - this.loadCallbacks[i](); - } - }; - - UrlInfo.prototype.failed = function () { - this.state = UrlStates.FAILED; - for (var i = 0; i < this.failCallbacks.length; i++) { - this.failCallbacks[i](); - } - }; - - UrlInfo.prototype.handleCallbacks = function (loadCallback, failCallback) { - switch (this.state) { - case UrlStates.LOADED: - loadCallback && loadCallback(); - break; - case UrlStates.FAILED: - failCallback && failCallback(); - break; - case UrlStates.LOADING: - this.addCallbacks(loadCallback, failCallback); - break; - } - }; - - UrlInfo.prototype.addCallbacks = function (loadCallback, failCallback) { - loadCallback && this.loadCallbacks.push(loadCallback); - failCallback && this.failCallbacks.push(failCallback); - }; - - /* ResourceLoader API */ - - abp.ResourceLoader = (function () { - - var _urlInfos = {}; - - function getCacheKey(url) { - return url; - } - - function appendTimeToUrl(url) { - - if (url.indexOf('?') < 0) { - url += '?'; - } else { - url += '&'; - } - - url += '_=' + new Date().getTime(); - - return url; - } - - var _loadFromUrl = function (url, loadCallback, failCallback, serverLoader) { - - var cacheKey = getCacheKey(url); - - var urlInfo = _urlInfos[cacheKey]; - - if (urlInfo) { - urlInfo.handleCallbacks(loadCallback, failCallback); - return; - } - - _urlInfos[cacheKey] = urlInfo = new UrlInfo(url); - urlInfo.addCallbacks(loadCallback, failCallback); - - serverLoader(urlInfo); - }; - - var _loadScript = function (url, loadCallback, failCallback) { - _loadFromUrl(url, loadCallback, failCallback, function (urlInfo) { - $.get({ - url: url, - dataType: 'text' - }) - .done(function (script) { - $.globalEval(script); - urlInfo.succeed(); - }) - .fail(function () { - urlInfo.failed(); - }); - }); - }; - - var _loadStyle = function (url) { - _loadFromUrl(url, undefined, undefined, function (urlInfo) { - - $('', { - rel: 'stylesheet', - type: 'text/css', - href: appendTimeToUrl(url) - }).appendTo('head'); - }); - }; - - return { - loadScript: _loadScript, - loadStyle: _loadStyle - } - })(); - -})(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/luxon/abp.luxon.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/luxon/abp.luxon.js deleted file mode 100644 index b04de7ca..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/luxon/abp.luxon.js +++ /dev/null @@ -1,46 +0,0 @@ -var abp = abp || {}; -(function () { - - if (!luxon) { - throw "abp/luxon library requires the luxon library included to the page!"; - } - - /* TIMING *************************************************/ - - abp.timing = abp.timing || {}; - - var setObjectValue = function (obj, property, value) { - if (typeof property === "string") { - property = property.split('.'); - } - - if (property.length > 1) { - var p = property.shift(); - setObjectValue(obj[p], property, value); - } else { - obj[property[0]] = value; - } - } - - var getObjectValue = function (obj, property) { - return property.split('.').reduce((a, v) => a[v], obj) - } - - abp.timing.convertFieldsToIsoDate = function (form, fields) { - for (var field of fields) { - var dateTime = luxon.DateTime - .fromFormat( - getObjectValue(form, field), - abp.localization.currentCulture.dateTimeFormat.shortDatePattern, - {locale: abp.localization.currentCulture.cultureName} - ); - - if (!dateTime.invalid) { - setObjectValue(form, field, dateTime.toFormat("yyyy-MM-dd HH:mm:ss")) - } - } - - return form; - } - -})(jQuery); diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js deleted file mode 100644 index 28ebcc37..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js +++ /dev/null @@ -1,694 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('just-compare')) : - typeof define === 'function' && define.amd ? define('@abp/utils', ['exports', 'just-compare'], factory) : - (global = global || self, factory((global.abp = global.abp || {}, global.abp.utils = global.abp.utils || {}, global.abp.utils.common = {}), global.compare)); -}(this, (function (exports, compare) { 'use strict'; - - compare = compare && Object.prototype.hasOwnProperty.call(compare, 'default') ? compare['default'] : compare; - - /*! ***************************************************************************** - Copyright (c) Microsoft Corporation. - - Permission to use, copy, modify, and/or distribute this software for any - purpose with or without fee is hereby granted. - - THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY - AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR - OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - PERFORMANCE OF THIS SOFTWARE. - ***************************************************************************** */ - /* global Reflect, Promise */ - var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) - if (b.hasOwnProperty(p)) - d[p] = b[p]; }; - return extendStatics(d, b); - }; - function __extends(d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - } - var __assign = function () { - __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); - }; - function __rest(s, e) { - var t = {}; - for (var p in s) - if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; - } - function __decorate(decorators, target, key, desc) { - var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") - r = Reflect.decorate(decorators, target, key, desc); - else - for (var i = decorators.length - 1; i >= 0; i--) - if (d = decorators[i]) - r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; - } - function __param(paramIndex, decorator) { - return function (target, key) { decorator(target, key, paramIndex); }; - } - function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") - return Reflect.metadata(metadataKey, metadataValue); - } - function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { - step(generator.next(value)); - } - catch (e) { - reject(e); - } } - function rejected(value) { try { - step(generator["throw"](value)); - } - catch (e) { - reject(e); - } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - } - function __generator(thisArg, body) { - var _ = { label: 0, sent: function () { if (t[0] & 1) - throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; - return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g; - function verb(n) { return function (v) { return step([n, v]); }; } - function step(op) { - if (f) - throw new TypeError("Generator is already executing."); - while (_) - try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) - return t; - if (y = 0, t) - op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { value: op[1], done: false }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { - _.label = op[1]; - break; - } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; - } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; - } - if (t[2]) - _.ops.pop(); - _.trys.pop(); - continue; - } - op = body.call(thisArg, _); - } - catch (e) { - op = [6, e]; - y = 0; - } - finally { - f = t = 0; - } - if (op[0] & 5) - throw op[1]; - return { value: op[0] ? op[1] : void 0, done: true }; - } - } - var __createBinding = Object.create ? (function (o, m, k, k2) { - if (k2 === undefined) - k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } }); - }) : (function (o, m, k, k2) { - if (k2 === undefined) - k2 = k; - o[k2] = m[k]; - }); - function __exportStar(m, exports) { - for (var p in m) - if (p !== "default" && !exports.hasOwnProperty(p)) - __createBinding(exports, m, p); - } - function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0; - if (m) - return m.call(o); - if (o && typeof o.length === "number") - return { - next: function () { - if (o && i >= o.length) - o = void 0; - return { value: o && o[i++], done: !o }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); - } - function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) - return o; - var i = m.call(o), r, ar = [], e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) - ar.push(r.value); - } - catch (error) { - e = { error: error }; - } - finally { - try { - if (r && !r.done && (m = i["return"])) - m.call(i); - } - finally { - if (e) - throw e.error; - } - } - return ar; - } - function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) - ar = ar.concat(__read(arguments[i])); - return ar; - } - function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) - s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) - for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) - r[k] = a[j]; - return r; - } - ; - function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); - } - function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), i, q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; - function verb(n) { if (g[n]) - i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } - function resume(n, v) { try { - step(g[n](v)); - } - catch (e) { - settle(q[0][3], e); - } } - function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } - function fulfill(value) { resume("next", value); } - function reject(value) { resume("throw", value); } - function settle(f, v) { if (f(v), q.shift(), q.length) - resume(q[0][0], q[0][1]); } - } - function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; - function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } - } - function __asyncValues(o) { - if (!Symbol.asyncIterator) - throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); - function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } - function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); } - } - function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { - Object.defineProperty(cooked, "raw", { value: raw }); - } - else { - cooked.raw = raw; - } - return cooked; - } - ; - var __setModuleDefault = Object.create ? (function (o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); - }) : function (o, v) { - o["default"] = v; - }; - function __importStar(mod) { - if (mod && mod.__esModule) - return mod; - var result = {}; - if (mod != null) - for (var k in mod) - if (Object.hasOwnProperty.call(mod, k)) - __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; - } - function __importDefault(mod) { - return (mod && mod.__esModule) ? mod : { default: mod }; - } - function __classPrivateFieldGet(receiver, privateMap) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to get private field on non-instance"); - } - return privateMap.get(receiver); - } - function __classPrivateFieldSet(receiver, privateMap, value) { - if (!privateMap.has(receiver)) { - throw new TypeError("attempted to set private field on non-instance"); - } - privateMap.set(receiver, value); - return value; - } - - var ListNode = /** @class */ (function () { - function ListNode(value) { - this.value = value; - } - return ListNode; - }()); - var LinkedList = /** @class */ (function () { - function LinkedList() { - this.size = 0; - } - Object.defineProperty(LinkedList.prototype, "head", { - get: function () { - return this.first; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(LinkedList.prototype, "tail", { - get: function () { - return this.last; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(LinkedList.prototype, "length", { - get: function () { - return this.size; - }, - enumerable: false, - configurable: true - }); - LinkedList.prototype.attach = function (value, previousNode, nextNode) { - if (!previousNode) - return this.addHead(value); - if (!nextNode) - return this.addTail(value); - var node = new ListNode(value); - node.previous = previousNode; - previousNode.next = node; - node.next = nextNode; - nextNode.previous = node; - this.size++; - return node; - }; - LinkedList.prototype.attachMany = function (values, previousNode, nextNode) { - if (!values.length) - return []; - if (!previousNode) - return this.addManyHead(values); - if (!nextNode) - return this.addManyTail(values); - var list = new LinkedList(); - list.addManyTail(values); - list.first.previous = previousNode; - previousNode.next = list.first; - list.last.next = nextNode; - nextNode.previous = list.last; - this.size += values.length; - return list.toNodeArray(); - }; - LinkedList.prototype.detach = function (node) { - if (!node.previous) - return this.dropHead(); - if (!node.next) - return this.dropTail(); - node.previous.next = node.next; - node.next.previous = node.previous; - this.size--; - return node; - }; - LinkedList.prototype.add = function (value) { - var _this = this; - return { - after: function () { - var _a; - var params = []; - for (var _i = 0; _i < arguments.length; _i++) { - params[_i] = arguments[_i]; - } - return (_a = _this.addAfter).call.apply(_a, __spread([_this, value], params)); - }, - before: function () { - var _a; - var params = []; - for (var _i = 0; _i < arguments.length; _i++) { - params[_i] = arguments[_i]; - } - return (_a = _this.addBefore).call.apply(_a, __spread([_this, value], params)); - }, - byIndex: function (position) { return _this.addByIndex(value, position); }, - head: function () { return _this.addHead(value); }, - tail: function () { return _this.addTail(value); }, - }; - }; - LinkedList.prototype.addMany = function (values) { - var _this = this; - return { - after: function () { - var _a; - var params = []; - for (var _i = 0; _i < arguments.length; _i++) { - params[_i] = arguments[_i]; - } - return (_a = _this.addManyAfter).call.apply(_a, __spread([_this, values], params)); - }, - before: function () { - var _a; - var params = []; - for (var _i = 0; _i < arguments.length; _i++) { - params[_i] = arguments[_i]; - } - return (_a = _this.addManyBefore).call.apply(_a, __spread([_this, values], params)); - }, - byIndex: function (position) { return _this.addManyByIndex(values, position); }, - head: function () { return _this.addManyHead(values); }, - tail: function () { return _this.addManyTail(values); }, - }; - }; - LinkedList.prototype.addAfter = function (value, previousValue, compareFn) { - if (compareFn === void 0) { compareFn = compare; } - var previous = this.find(function (node) { return compareFn(node.value, previousValue); }); - return previous ? this.attach(value, previous, previous.next) : this.addTail(value); - }; - LinkedList.prototype.addBefore = function (value, nextValue, compareFn) { - if (compareFn === void 0) { compareFn = compare; } - var next = this.find(function (node) { return compareFn(node.value, nextValue); }); - return next ? this.attach(value, next.previous, next) : this.addHead(value); - }; - LinkedList.prototype.addByIndex = function (value, position) { - if (position < 0) - position += this.size; - else if (position >= this.size) - return this.addTail(value); - if (position <= 0) - return this.addHead(value); - var next = this.get(position); - return this.attach(value, next.previous, next); - }; - LinkedList.prototype.addHead = function (value) { - var node = new ListNode(value); - node.next = this.first; - if (this.first) - this.first.previous = node; - else - this.last = node; - this.first = node; - this.size++; - return node; - }; - LinkedList.prototype.addTail = function (value) { - var node = new ListNode(value); - if (this.first) { - node.previous = this.last; - this.last.next = node; - this.last = node; - } - else { - this.first = node; - this.last = node; - } - this.size++; - return node; - }; - LinkedList.prototype.addManyAfter = function (values, previousValue, compareFn) { - if (compareFn === void 0) { compareFn = compare; } - var previous = this.find(function (node) { return compareFn(node.value, previousValue); }); - return previous ? this.attachMany(values, previous, previous.next) : this.addManyTail(values); - }; - LinkedList.prototype.addManyBefore = function (values, nextValue, compareFn) { - if (compareFn === void 0) { compareFn = compare; } - var next = this.find(function (node) { return compareFn(node.value, nextValue); }); - return next ? this.attachMany(values, next.previous, next) : this.addManyHead(values); - }; - LinkedList.prototype.addManyByIndex = function (values, position) { - if (position < 0) - position += this.size; - if (position <= 0) - return this.addManyHead(values); - if (position >= this.size) - return this.addManyTail(values); - var next = this.get(position); - return this.attachMany(values, next.previous, next); - }; - LinkedList.prototype.addManyHead = function (values) { - var _this = this; - return values.reduceRight(function (nodes, value) { - nodes.unshift(_this.addHead(value)); - return nodes; - }, []); - }; - LinkedList.prototype.addManyTail = function (values) { - var _this = this; - return values.map(function (value) { return _this.addTail(value); }); - }; - LinkedList.prototype.drop = function () { - var _this = this; - return { - byIndex: function (position) { return _this.dropByIndex(position); }, - byValue: function () { - var params = []; - for (var _i = 0; _i < arguments.length; _i++) { - params[_i] = arguments[_i]; - } - return _this.dropByValue.apply(_this, params); - }, - byValueAll: function () { - var params = []; - for (var _i = 0; _i < arguments.length; _i++) { - params[_i] = arguments[_i]; - } - return _this.dropByValueAll.apply(_this, params); - }, - head: function () { return _this.dropHead(); }, - tail: function () { return _this.dropTail(); }, - }; - }; - LinkedList.prototype.dropMany = function (count) { - var _this = this; - return { - byIndex: function (position) { return _this.dropManyByIndex(count, position); }, - head: function () { return _this.dropManyHead(count); }, - tail: function () { return _this.dropManyTail(count); }, - }; - }; - LinkedList.prototype.dropByIndex = function (position) { - if (position < 0) - position += this.size; - var current = this.get(position); - return current ? this.detach(current) : undefined; - }; - LinkedList.prototype.dropByValue = function (value, compareFn) { - if (compareFn === void 0) { compareFn = compare; } - var position = this.findIndex(function (node) { return compareFn(node.value, value); }); - return position < 0 ? undefined : this.dropByIndex(position); - }; - LinkedList.prototype.dropByValueAll = function (value, compareFn) { - if (compareFn === void 0) { compareFn = compare; } - var dropped = []; - for (var current = this.first, position = 0; current; position++, current = current.next) { - if (compareFn(current.value, value)) { - dropped.push(this.dropByIndex(position - dropped.length)); - } - } - return dropped; - }; - LinkedList.prototype.dropHead = function () { - var head = this.first; - if (head) { - this.first = head.next; - if (this.first) - this.first.previous = undefined; - else - this.last = undefined; - this.size--; - return head; - } - return undefined; - }; - LinkedList.prototype.dropTail = function () { - var tail = this.last; - if (tail) { - this.last = tail.previous; - if (this.last) - this.last.next = undefined; - else - this.first = undefined; - this.size--; - return tail; - } - return undefined; - }; - LinkedList.prototype.dropManyByIndex = function (count, position) { - if (count <= 0) - return []; - if (position < 0) - position = Math.max(position + this.size, 0); - else if (position >= this.size) - return []; - count = Math.min(count, this.size - position); - var dropped = []; - while (count--) { - var current = this.get(position); - dropped.push(this.detach(current)); - } - return dropped; - }; - LinkedList.prototype.dropManyHead = function (count) { - if (count <= 0) - return []; - count = Math.min(count, this.size); - var dropped = []; - while (count--) - dropped.unshift(this.dropHead()); - return dropped; - }; - LinkedList.prototype.dropManyTail = function (count) { - if (count <= 0) - return []; - count = Math.min(count, this.size); - var dropped = []; - while (count--) - dropped.push(this.dropTail()); - return dropped; - }; - LinkedList.prototype.find = function (predicate) { - for (var current = this.first, position = 0; current; position++, current = current.next) { - if (predicate(current, position, this)) - return current; - } - return undefined; - }; - LinkedList.prototype.findIndex = function (predicate) { - for (var current = this.first, position = 0; current; position++, current = current.next) { - if (predicate(current, position, this)) - return position; - } - return -1; - }; - LinkedList.prototype.forEach = function (iteratorFn) { - for (var node = this.first, position = 0; node; position++, node = node.next) { - iteratorFn(node, position, this); - } - }; - LinkedList.prototype.get = function (position) { - return this.find(function (_, index) { return position === index; }); - }; - LinkedList.prototype.indexOf = function (value, compareFn) { - if (compareFn === void 0) { compareFn = compare; } - return this.findIndex(function (node) { return compareFn(node.value, value); }); - }; - LinkedList.prototype.toArray = function () { - var array = new Array(this.size); - this.forEach(function (node, index) { return (array[index] = node.value); }); - return array; - }; - LinkedList.prototype.toNodeArray = function () { - var array = new Array(this.size); - this.forEach(function (node, index) { return (array[index] = node); }); - return array; - }; - LinkedList.prototype.toString = function (mapperFn) { - if (mapperFn === void 0) { mapperFn = JSON.stringify; } - return this.toArray() - .map(function (value) { return mapperFn(value); }) - .join(' <-> '); - }; - // Cannot use Generator type because of ng-packagr - LinkedList.prototype[Symbol.iterator] = function () { - var node, position; - return __generator(this, function (_a) { - switch (_a.label) { - case 0: - node = this.first, position = 0; - _a.label = 1; - case 1: - if (!node) return [3 /*break*/, 4]; - return [4 /*yield*/, node.value]; - case 2: - _a.sent(); - _a.label = 3; - case 3: - position++, node = node.next; - return [3 /*break*/, 1]; - case 4: return [2 /*return*/]; - } - }); - }; - return LinkedList; - }()); - - /* - * Public API Surface of utils - */ - - /** - * Generated bundle index. Do not edit. - */ - - exports.LinkedList = LinkedList; - exports.ListNode = ListNode; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}))); -//# sourceMappingURL=abp-utils.umd.js.map diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js.map b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js.map deleted file mode 100644 index 2c5d45dd..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"abp-utils.umd.js","sources":["../../node_modules/tslib/tslib.es6.js","../../projects/utils/src/lib/linked-list.ts","../../projects/utils/src/public-api.ts","../../projects/utils/src/abp-utils.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/* tslint:disable:no-non-null-assertion */\n\nimport compare from 'just-compare';\n\nexport class ListNode {\n next: ListNode | undefined;\n previous: ListNode | undefined;\n constructor(public readonly value: T) {}\n}\n\nexport class LinkedList {\n private first: ListNode | undefined;\n private last: ListNode | undefined;\n private size = 0;\n\n get head(): ListNode | undefined {\n return this.first;\n }\n get tail(): ListNode | undefined {\n return this.last;\n }\n get length(): number {\n return this.size;\n }\n\n private attach(\n value: T,\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode {\n if (!previousNode) return this.addHead(value);\n\n if (!nextNode) return this.addTail(value);\n\n const node = new ListNode(value);\n node.previous = previousNode;\n previousNode.next = node;\n node.next = nextNode;\n nextNode.previous = node;\n\n this.size++;\n\n return node;\n }\n\n private attachMany(\n values: T[],\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode[] {\n if (!values.length) return [];\n\n if (!previousNode) return this.addManyHead(values);\n\n if (!nextNode) return this.addManyTail(values);\n\n const list = new LinkedList();\n list.addManyTail(values);\n list.first!.previous = previousNode;\n previousNode.next = list.first;\n list.last!.next = nextNode;\n nextNode.previous = list.last;\n\n this.size += values.length;\n\n return list.toNodeArray();\n }\n\n private detach(node: ListNode) {\n if (!node.previous) return this.dropHead();\n\n if (!node.next) return this.dropTail();\n\n node.previous.next = node.next;\n node.next.previous = node.previous;\n\n this.size--;\n\n return node;\n }\n\n add(value: T) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addAfter.call(this, value, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addBefore.call(this, value, ...params),\n byIndex: (position: number) => this.addByIndex(value, position),\n head: () => this.addHead(value),\n tail: () => this.addTail(value),\n };\n }\n\n addMany(values: T[]) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyAfter.call(this, values, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyBefore.call(this, values, ...params),\n byIndex: (position: number) => this.addManyByIndex(values, position),\n head: () => this.addManyHead(values),\n tail: () => this.addManyTail(values),\n };\n }\n\n addAfter(value: T, previousValue: T): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attach(value, previous, previous.next) : this.addTail(value);\n }\n\n addBefore(value: T, nextValue: T): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attach(value, next.previous, next) : this.addHead(value);\n }\n\n addByIndex(value: T, position: number): ListNode {\n if (position < 0) position += this.size;\n else if (position >= this.size) return this.addTail(value);\n\n if (position <= 0) return this.addHead(value);\n\n const next = this.get(position)!;\n\n return this.attach(value, next.previous, next);\n }\n\n addHead(value: T): ListNode {\n const node = new ListNode(value);\n\n node.next = this.first;\n\n if (this.first) this.first.previous = node;\n else this.last = node;\n\n this.first = node;\n this.size++;\n\n return node;\n }\n\n addTail(value: T): ListNode {\n const node = new ListNode(value);\n\n if (this.first) {\n node.previous = this.last;\n this.last!.next = node;\n this.last = node;\n } else {\n this.first = node;\n this.last = node;\n }\n\n this.size++;\n\n return node;\n }\n\n addManyAfter(values: T[], previousValue: T): ListNode[];\n addManyAfter(values: T[], previousValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyAfter(\n values: T[],\n previousValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attachMany(values, previous, previous.next) : this.addManyTail(values);\n }\n\n addManyBefore(values: T[], nextValue: T): ListNode[];\n addManyBefore(values: T[], nextValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyBefore(\n values: T[],\n nextValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attachMany(values, next.previous, next) : this.addManyHead(values);\n }\n\n addManyByIndex(values: T[], position: number): ListNode[] {\n if (position < 0) position += this.size;\n\n if (position <= 0) return this.addManyHead(values);\n\n if (position >= this.size) return this.addManyTail(values);\n\n const next = this.get(position)!;\n\n return this.attachMany(values, next.previous, next);\n }\n\n addManyHead(values: T[]): ListNode[] {\n return values.reduceRight[]>((nodes, value) => {\n nodes.unshift(this.addHead(value));\n return nodes;\n }, []);\n }\n\n addManyTail(values: T[]): ListNode[] {\n return values.map(value => this.addTail(value));\n }\n\n drop() {\n return {\n byIndex: (position: number) => this.dropByIndex(position),\n byValue: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValue.apply(this, params),\n byValueAll: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValueAll.apply(this, params),\n head: () => this.dropHead(),\n tail: () => this.dropTail(),\n };\n }\n\n dropMany(count: number) {\n return {\n byIndex: (position: number) => this.dropManyByIndex(count, position),\n head: () => this.dropManyHead(count),\n tail: () => this.dropManyTail(count),\n };\n }\n\n dropByIndex(position: number): ListNode | undefined {\n if (position < 0) position += this.size;\n\n const current = this.get(position);\n\n return current ? this.detach(current) : undefined;\n }\n\n dropByValue(value: T): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn = compare): ListNode | undefined {\n const position = this.findIndex(node => compareFn(node.value, value));\n\n return position < 0 ? undefined : this.dropByIndex(position);\n }\n\n dropByValueAll(value: T): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn = compare): ListNode[] {\n const dropped: ListNode[] = [];\n\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (compareFn(current.value, value)) {\n dropped.push(this.dropByIndex(position - dropped.length)!);\n }\n }\n\n return dropped;\n }\n\n dropHead(): ListNode | undefined {\n const head = this.first;\n\n if (head) {\n this.first = head.next;\n\n if (this.first) this.first.previous = undefined;\n else this.last = undefined;\n\n this.size--;\n\n return head;\n }\n\n return undefined;\n }\n\n dropTail(): ListNode | undefined {\n const tail = this.last;\n\n if (tail) {\n this.last = tail.previous;\n\n if (this.last) this.last.next = undefined;\n else this.first = undefined;\n\n this.size--;\n\n return tail;\n }\n\n return undefined;\n }\n\n dropManyByIndex(count: number, position: number): ListNode[] {\n if (count <= 0) return [];\n\n if (position < 0) position = Math.max(position + this.size, 0);\n else if (position >= this.size) return [];\n\n count = Math.min(count, this.size - position);\n\n const dropped: ListNode[] = [];\n\n while (count--) {\n const current = this.get(position);\n dropped.push(this.detach(current!)!);\n }\n\n return dropped;\n }\n\n dropManyHead(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.unshift(this.dropHead()!);\n\n return dropped;\n }\n\n dropManyTail(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.push(this.dropTail()!);\n\n return dropped;\n }\n\n find(predicate: ListIteratorFn): ListNode | undefined {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return current;\n }\n\n return undefined;\n }\n\n findIndex(predicate: ListIteratorFn): number {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return position;\n }\n\n return -1;\n }\n\n forEach(iteratorFn: ListIteratorFn) {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n iteratorFn(node, position, this);\n }\n }\n\n get(position: number): ListNode | undefined {\n return this.find((_, index) => position === index);\n }\n\n indexOf(value: T): number;\n indexOf(value: any, compareFn: ListComparisonFn): number;\n indexOf(value: any, compareFn: ListComparisonFn = compare): number {\n return this.findIndex(node => compareFn(node.value, value));\n }\n\n toArray(): T[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node.value));\n\n return array;\n }\n\n toNodeArray(): ListNode[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node));\n\n return array;\n }\n\n toString(mapperFn: ListMapperFn = JSON.stringify): string {\n return this.toArray()\n .map(value => mapperFn(value))\n .join(' <-> ');\n }\n\n // Cannot use Generator type because of ng-packagr\n *[Symbol.iterator](): any {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n yield node.value;\n }\n }\n}\n\nexport type ListMapperFn = (value: T) => any;\n\nexport type ListComparisonFn = (value1: T, value2: any) => boolean;\n\nexport type ListIteratorFn = (\n node: ListNode,\n index?: number,\n list?: LinkedList,\n) => R;\n","/*\n * Public API Surface of utils\n */\n\nexport * from './lib/linked-list';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js deleted file mode 100644 index 57b22e51..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(t,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports,require("just-compare")):"function"==typeof define&&define.amd?define("@abp/utils",["exports","just-compare"],r):r(((t=t||self).abp=t.abp||{},t.abp.utils=t.abp.utils||{},t.abp.utils.common={}),t.compare)}(this,(function(t,r){"use strict";r=r&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r;function e(t,r){var e,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function u(o){return function(u){return function(o){if(e)throw new TypeError("Generator is already executing.");for(;a;)try{if(e=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]0)&&!(n=o.next()).done;)a.push(n.value)}catch(t){i={error:t}}finally{try{n&&!n.done&&(e=o.return)&&e.call(o)}finally{if(i)throw i.error}}return a}function i(){for(var t=[],r=0;r=this.size)return this.addTail(t);if(r<=0)return this.addHead(t);var e=this.get(r);return this.attach(t,e.previous,e)},t.prototype.addHead=function(t){var r=new o(t);return r.next=this.first,this.first?this.first.previous=r:this.last=r,this.first=r,this.size++,r},t.prototype.addTail=function(t){var r=new o(t);return this.first?(r.previous=this.last,this.last.next=r,this.last=r):(this.first=r,this.last=r),this.size++,r},t.prototype.addManyAfter=function(t,e,n){void 0===n&&(n=r);var i=this.find((function(t){return n(t.value,e)}));return i?this.attachMany(t,i,i.next):this.addManyTail(t)},t.prototype.addManyBefore=function(t,e,n){void 0===n&&(n=r);var i=this.find((function(t){return n(t.value,e)}));return i?this.attachMany(t,i.previous,i):this.addManyHead(t)},t.prototype.addManyByIndex=function(t,r){if(r<0&&(r+=this.size),r<=0)return this.addManyHead(t);if(r>=this.size)return this.addManyTail(t);var e=this.get(r);return this.attachMany(t,e.previous,e)},t.prototype.addManyHead=function(t){var r=this;return t.reduceRight((function(t,e){return t.unshift(r.addHead(e)),t}),[])},t.prototype.addManyTail=function(t){var r=this;return t.map((function(t){return r.addTail(t)}))},t.prototype.drop=function(){var t=this;return{byIndex:function(r){return t.dropByIndex(r)},byValue:function(){for(var r=[],e=0;e=this.size)return[];t=Math.min(t,this.size-r);for(var e=[];t--;){var n=this.get(r);e.push(this.detach(n))}return e},t.prototype.dropManyHead=function(t){if(t<=0)return[];t=Math.min(t,this.size);for(var r=[];t--;)r.unshift(this.dropHead());return r},t.prototype.dropManyTail=function(t){if(t<=0)return[];t=Math.min(t,this.size);for(var r=[];t--;)r.push(this.dropTail());return r},t.prototype.find=function(t){for(var r=this.first,e=0;r;e++,r=r.next)if(t(r,e,this))return r},t.prototype.findIndex=function(t){for(var r=this.first,e=0;r;e++,r=r.next)if(t(r,e,this))return e;return-1},t.prototype.forEach=function(t){for(var r=this.first,e=0;r;e++,r=r.next)t(r,e,this)},t.prototype.get=function(t){return this.find((function(r,e){return t===e}))},t.prototype.indexOf=function(t,e){return void 0===e&&(e=r),this.findIndex((function(r){return e(r.value,t)}))},t.prototype.toArray=function(){var t=new Array(this.size);return this.forEach((function(r,e){return t[e]=r.value})),t},t.prototype.toNodeArray=function(){var t=new Array(this.size);return this.forEach((function(r,e){return t[e]=r})),t},t.prototype.toString=function(t){return void 0===t&&(t=JSON.stringify),this.toArray().map((function(r){return t(r)})).join(" <-> ")},t.prototype[Symbol.iterator]=function(){var t;return e(this,(function(r){switch(r.label){case 0:t=this.first,0,r.label=1;case 1:return t?[4,t.value]:[3,4];case 2:r.sent(),r.label=3;case 3:return t=t.next,[3,1];case 4:return[2]}}))},t}();t.LinkedList=a,t.ListNode=o,Object.defineProperty(t,"__esModule",{value:!0})})); -//# sourceMappingURL=abp-utils.umd.min.js.map \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map deleted file mode 100644 index b4e4d3e0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/abp/utils/abp-utils.umd.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","../../projects/utils/src/lib/linked-list.ts"],"names":["__generator","thisArg","body","f","y","t","g","_","label","sent","trys","ops","next","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","done","value","pop","length","push","e","step","Object","create","__read","o","m","r","i","ar","error","__spread","arguments","concat","LinkedList","size","defineProperty","prototype","first","last","attach","previousNode","nextNode","addHead","addTail","node","ListNode","previous","attachMany","values","addManyHead","addManyTail","list","toNodeArray","detach","dropTail","dropHead","add","_this","after","params","_i","_a","addAfter","apply","before","addBefore","byIndex","position","addByIndex","head","tail","addMany","addManyAfter","addManyBefore","addManyByIndex","previousValue","compareFn","compare","find","nextValue","get","reduceRight","nodes","unshift","map","drop","dropByIndex","byValue","dropByValue","byValueAll","dropByValueAll","dropMany","count","dropManyByIndex","dropManyHead","dropManyTail","current","undefined","findIndex","dropped","Math","max","min","predicate","forEach","iteratorFn","index","indexOf","toArray","array","Array","toString","mapperFn","JSON","stringify","join"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/* tslint:disable:no-non-null-assertion */\n\nimport compare from 'just-compare';\n\nexport class ListNode {\n next: ListNode | undefined;\n previous: ListNode | undefined;\n constructor(public readonly value: T) {}\n}\n\nexport class LinkedList {\n private first: ListNode | undefined;\n private last: ListNode | undefined;\n private size = 0;\n\n get head(): ListNode | undefined {\n return this.first;\n }\n get tail(): ListNode | undefined {\n return this.last;\n }\n get length(): number {\n return this.size;\n }\n\n private attach(\n value: T,\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode {\n if (!previousNode) return this.addHead(value);\n\n if (!nextNode) return this.addTail(value);\n\n const node = new ListNode(value);\n node.previous = previousNode;\n previousNode.next = node;\n node.next = nextNode;\n nextNode.previous = node;\n\n this.size++;\n\n return node;\n }\n\n private attachMany(\n values: T[],\n previousNode: ListNode | undefined,\n nextNode: ListNode | undefined,\n ): ListNode[] {\n if (!values.length) return [];\n\n if (!previousNode) return this.addManyHead(values);\n\n if (!nextNode) return this.addManyTail(values);\n\n const list = new LinkedList();\n list.addManyTail(values);\n list.first!.previous = previousNode;\n previousNode.next = list.first;\n list.last!.next = nextNode;\n nextNode.previous = list.last;\n\n this.size += values.length;\n\n return list.toNodeArray();\n }\n\n private detach(node: ListNode) {\n if (!node.previous) return this.dropHead();\n\n if (!node.next) return this.dropTail();\n\n node.previous.next = node.next;\n node.next.previous = node.previous;\n\n this.size--;\n\n return node;\n }\n\n add(value: T) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addAfter.call(this, value, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addBefore.call(this, value, ...params),\n byIndex: (position: number) => this.addByIndex(value, position),\n head: () => this.addHead(value),\n tail: () => this.addTail(value),\n };\n }\n\n addMany(values: T[]) {\n return {\n after: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyAfter.call(this, values, ...params),\n before: (...params: [T] | [any, ListComparisonFn]) =>\n this.addManyBefore.call(this, values, ...params),\n byIndex: (position: number) => this.addManyByIndex(values, position),\n head: () => this.addManyHead(values),\n tail: () => this.addManyTail(values),\n };\n }\n\n addAfter(value: T, previousValue: T): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn): ListNode;\n addAfter(value: T, previousValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attach(value, previous, previous.next) : this.addTail(value);\n }\n\n addBefore(value: T, nextValue: T): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn): ListNode;\n addBefore(value: T, nextValue: any, compareFn: ListComparisonFn = compare): ListNode {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attach(value, next.previous, next) : this.addHead(value);\n }\n\n addByIndex(value: T, position: number): ListNode {\n if (position < 0) position += this.size;\n else if (position >= this.size) return this.addTail(value);\n\n if (position <= 0) return this.addHead(value);\n\n const next = this.get(position)!;\n\n return this.attach(value, next.previous, next);\n }\n\n addHead(value: T): ListNode {\n const node = new ListNode(value);\n\n node.next = this.first;\n\n if (this.first) this.first.previous = node;\n else this.last = node;\n\n this.first = node;\n this.size++;\n\n return node;\n }\n\n addTail(value: T): ListNode {\n const node = new ListNode(value);\n\n if (this.first) {\n node.previous = this.last;\n this.last!.next = node;\n this.last = node;\n } else {\n this.first = node;\n this.last = node;\n }\n\n this.size++;\n\n return node;\n }\n\n addManyAfter(values: T[], previousValue: T): ListNode[];\n addManyAfter(values: T[], previousValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyAfter(\n values: T[],\n previousValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const previous = this.find(node => compareFn(node.value, previousValue));\n\n return previous ? this.attachMany(values, previous, previous.next) : this.addManyTail(values);\n }\n\n addManyBefore(values: T[], nextValue: T): ListNode[];\n addManyBefore(values: T[], nextValue: any, compareFn: ListComparisonFn): ListNode[];\n addManyBefore(\n values: T[],\n nextValue: any,\n compareFn: ListComparisonFn = compare,\n ): ListNode[] {\n const next = this.find(node => compareFn(node.value, nextValue));\n\n return next ? this.attachMany(values, next.previous, next) : this.addManyHead(values);\n }\n\n addManyByIndex(values: T[], position: number): ListNode[] {\n if (position < 0) position += this.size;\n\n if (position <= 0) return this.addManyHead(values);\n\n if (position >= this.size) return this.addManyTail(values);\n\n const next = this.get(position)!;\n\n return this.attachMany(values, next.previous, next);\n }\n\n addManyHead(values: T[]): ListNode[] {\n return values.reduceRight[]>((nodes, value) => {\n nodes.unshift(this.addHead(value));\n return nodes;\n }, []);\n }\n\n addManyTail(values: T[]): ListNode[] {\n return values.map(value => this.addTail(value));\n }\n\n drop() {\n return {\n byIndex: (position: number) => this.dropByIndex(position),\n byValue: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValue.apply(this, params),\n byValueAll: (...params: [T] | [any, ListComparisonFn]) =>\n this.dropByValueAll.apply(this, params),\n head: () => this.dropHead(),\n tail: () => this.dropTail(),\n };\n }\n\n dropMany(count: number) {\n return {\n byIndex: (position: number) => this.dropManyByIndex(count, position),\n head: () => this.dropManyHead(count),\n tail: () => this.dropManyTail(count),\n };\n }\n\n dropByIndex(position: number): ListNode | undefined {\n if (position < 0) position += this.size;\n\n const current = this.get(position);\n\n return current ? this.detach(current) : undefined;\n }\n\n dropByValue(value: T): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn): ListNode | undefined;\n dropByValue(value: any, compareFn: ListComparisonFn = compare): ListNode | undefined {\n const position = this.findIndex(node => compareFn(node.value, value));\n\n return position < 0 ? undefined : this.dropByIndex(position);\n }\n\n dropByValueAll(value: T): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn): ListNode[];\n dropByValueAll(value: any, compareFn: ListComparisonFn = compare): ListNode[] {\n const dropped: ListNode[] = [];\n\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (compareFn(current.value, value)) {\n dropped.push(this.dropByIndex(position - dropped.length)!);\n }\n }\n\n return dropped;\n }\n\n dropHead(): ListNode | undefined {\n const head = this.first;\n\n if (head) {\n this.first = head.next;\n\n if (this.first) this.first.previous = undefined;\n else this.last = undefined;\n\n this.size--;\n\n return head;\n }\n\n return undefined;\n }\n\n dropTail(): ListNode | undefined {\n const tail = this.last;\n\n if (tail) {\n this.last = tail.previous;\n\n if (this.last) this.last.next = undefined;\n else this.first = undefined;\n\n this.size--;\n\n return tail;\n }\n\n return undefined;\n }\n\n dropManyByIndex(count: number, position: number): ListNode[] {\n if (count <= 0) return [];\n\n if (position < 0) position = Math.max(position + this.size, 0);\n else if (position >= this.size) return [];\n\n count = Math.min(count, this.size - position);\n\n const dropped: ListNode[] = [];\n\n while (count--) {\n const current = this.get(position);\n dropped.push(this.detach(current!)!);\n }\n\n return dropped;\n }\n\n dropManyHead(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.unshift(this.dropHead()!);\n\n return dropped;\n }\n\n dropManyTail(count: Exclude): ListNode[] {\n if (count <= 0) return [];\n\n count = Math.min(count, this.size);\n\n const dropped: ListNode[] = [];\n\n while (count--) dropped.push(this.dropTail()!);\n\n return dropped;\n }\n\n find(predicate: ListIteratorFn): ListNode | undefined {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return current;\n }\n\n return undefined;\n }\n\n findIndex(predicate: ListIteratorFn): number {\n for (let current = this.first, position = 0; current; position++, current = current.next) {\n if (predicate(current, position, this)) return position;\n }\n\n return -1;\n }\n\n forEach(iteratorFn: ListIteratorFn) {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n iteratorFn(node, position, this);\n }\n }\n\n get(position: number): ListNode | undefined {\n return this.find((_, index) => position === index);\n }\n\n indexOf(value: T): number;\n indexOf(value: any, compareFn: ListComparisonFn): number;\n indexOf(value: any, compareFn: ListComparisonFn = compare): number {\n return this.findIndex(node => compareFn(node.value, value));\n }\n\n toArray(): T[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node.value));\n\n return array;\n }\n\n toNodeArray(): ListNode[] {\n const array = new Array(this.size);\n\n this.forEach((node, index) => (array[index!] = node));\n\n return array;\n }\n\n toString(mapperFn: ListMapperFn = JSON.stringify): string {\n return this.toArray()\n .map(value => mapperFn(value))\n .join(' <-> ');\n }\n\n // Cannot use Generator type because of ng-packagr\n *[Symbol.iterator](): any {\n for (let node = this.first, position = 0; node; position++, node = node.next) {\n yield node.value;\n }\n }\n}\n\nexport type ListMapperFn = (value: T) => any;\n\nexport type ListComparisonFn = (value1: T, value2: any) => boolean;\n\nexport type ListIteratorFn = (\n node: ListNode,\n index?: number,\n list?: LinkedList,\n) => R;\n"]} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map deleted file mode 100644 index 7e08a210..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["less/datepicker.less","build/build.less"],"names":[],"mappings":"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","sourcesContent":[".datepicker {\n\tpadding: 4px;\n\t.border-radius(@baseBorderRadius);\n\t&-inline {\n\t\twidth: 220px;\n\t}\n\tdirection: ltr;\n\t&-rtl {\n\t\tdirection: rtl;\n\t\t&.dropdown-menu { left: auto; }\n\t\ttable tr td span {\n\t\t\tfloat: right;\n\t\t}\n\t}\n\t&-dropdown {\n\t\ttop: 0;\n\t\tleft: 0;\n\t\t&:before {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\tborder-left: 7px solid transparent;\n\t\t\tborder-right: 7px solid transparent;\n\t\t\tborder-bottom: 7px solid @grayLight;\n\t\t\tborder-top: 0;\n\t\t\tborder-bottom-color: rgba(0,0,0,.2);\n\t\t\tposition: absolute;\n\t\t}\n\t\t&:after {\n\t\t\tcontent: '';\n\t\t\tdisplay: inline-block;\n\t\t\tborder-left: 6px solid transparent;\n\t\t\tborder-right: 6px solid transparent;\n\t\t\tborder-bottom: 6px solid @white;\n\t\t\tborder-top: 0;\n\t\t\tposition: absolute;\n\t\t}\n\t\t&.datepicker-orient-left:before { left: 6px; }\n\t\t&.datepicker-orient-left:after { left: 7px; }\n\t\t&.datepicker-orient-right:before { right: 6px; }\n\t\t&.datepicker-orient-right:after { right: 7px; }\n\t\t&.datepicker-orient-bottom:before { top: -7px; }\n\t\t&.datepicker-orient-bottom:after { top: -6px; }\n\t\t&.datepicker-orient-top:before {\n\t\t\tbottom: -7px;\n\t\t\tborder-bottom: 0;\n\t\t\tborder-top: 7px solid @grayLight;\n\t\t}\n\t\t&.datepicker-orient-top:after {\n\t\t\tbottom: -6px;\n\t\t\tborder-bottom: 0;\n\t\t\tborder-top: 6px solid @white;\n\t\t}\n\t}\n\ttable {\n\t\tmargin: 0;\n\t\t-webkit-touch-callout: none;\n\t\t-webkit-user-select: none;\n\t\t-khtml-user-select: none;\n\t\t-moz-user-select: none;\n\t\t-ms-user-select: none;\n\t\tuser-select: none;\n\t}\n\ttd, th {\n\t\ttext-align: center;\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\t.border-radius(4px);\n\n\t\tborder: none;\n\t}\n\t// Inline display inside a table presents some problems with\n\t// border and background colors.\n\t.table-striped & table tr {\n\t\ttd, th {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\ttable tr td {\n\t\t&.day:hover,\n\t\t&.day.focused {\n\t\t\tbackground: @grayLighter;\n\t\t\tcursor: pointer;\n\t\t}\n\t\t&.old,\n\t\t&.new {\n\t\t\tcolor: @grayLight;\n\t\t}\n\t\t&.disabled,\n\t\t&.disabled:hover {\n\t\t\tbackground: none;\n\t\t\tcolor: @grayLight;\n\t\t\tcursor: default;\n\t\t}\n\t\t&.highlighted {\n\t\t\tbackground: @infoBackground;\n\t\t\tborder-radius: 0;\n\t\t}\n\t\t&.today,\n\t\t&.today:hover,\n\t\t&.today.disabled,\n\t\t&.today.disabled:hover {\n\t\t\t@todayBackground: lighten(@orange, 30%);\n\t\t\t.buttonBackground(@todayBackground, spin(@todayBackground, 20));\n\t\t\tcolor: #000;\n\t\t}\n\t\t&.today:hover:hover { // Thank bootstrap 2.0 for this selector...\n\t\t\t// TODO: Bump min BS to 2.1, use @textColor in buttonBackground above\n\t\t\tcolor: #000;\n\t\t}\n\t\t&.today.active:hover {\n\t\t\tcolor: #fff;\n\t\t}\n\t\t&.range,\n\t\t&.range:hover,\n\t\t&.range.disabled,\n\t\t&.range.disabled:hover {\n\t\t\tbackground: @grayLighter;\n\t\t\t.border-radius(0);\n\t\t}\n\t\t&.range.today,\n\t\t&.range.today:hover,\n\t\t&.range.today.disabled,\n\t\t&.range.today.disabled:hover {\n\t\t\t@todayBackground: mix(@orange, @grayLighter, 50%);\n\t\t\t.buttonBackground(@todayBackground, spin(@todayBackground, 20));\n\t\t\t.border-radius(0);\n\t\t}\n\t\t&.selected,\n\t\t&.selected:hover,\n\t\t&.selected.disabled,\n\t\t&.selected.disabled:hover {\n\t\t\t.buttonBackground(lighten(@grayLight, 10), darken(@grayLight, 10));\n\t\t\tcolor: #fff;\n\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t}\n\t\t&.active,\n\t\t&.active:hover,\n\t\t&.active.disabled,\n\t\t&.active.disabled:hover {\n\t\t\t.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));\n\t\t\tcolor: #fff;\n\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t}\n\t\tspan {\n\t\t\tdisplay: block;\n\t\t\twidth: 23%;\n\t\t\theight: 54px;\n\t\t\tline-height: 54px;\n\t\t\tfloat: left;\n\t\t\tmargin: 1%;\n\t\t\tcursor: pointer;\n\t\t\t.border-radius(4px);\n\t\t\t&:hover,\n\t\t\t&.focused {\n\t\t\t\tbackground: @grayLighter;\n\t\t\t}\n\t\t\t&.disabled,\n\t\t\t&.disabled:hover {\n\t\t\t\tbackground: none;\n\t\t\t\tcolor: @grayLight;\n\t\t\t\tcursor: default;\n\t\t\t}\n\t\t\t&.active,\n\t\t\t&.active:hover,\n\t\t\t&.active.disabled,\n\t\t\t&.active.disabled:hover {\n\t\t\t\t.buttonBackground(@btnPrimaryBackground, spin(@btnPrimaryBackground, 20));\n\t\t\t\tcolor: #fff;\n\t\t\t\ttext-shadow: 0 -1px 0 rgba(0,0,0,.25);\n\t\t\t}\n\t\t\t&.old,\n\t\t\t&.new {\n\t\t\t\tcolor: @grayLight;\n\t\t\t}\n\t\t}\n\t}\n\n\t.datepicker-switch {\n\t\twidth: 145px;\n\t}\n\n\t.datepicker-switch,\n\t.prev,\n\t.next,\n\ttfoot tr th {\n\t\tcursor: pointer;\n\t\t&:hover {\n\t\t\tbackground: @grayLighter;\n\t\t}\n\t}\n\n\t.prev, .next {\n\t\t&.disabled {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\t// Basic styling for calendar-week cells\n\t.cw {\n\t\tfont-size: 10px;\n\t\twidth: 12px;\n\t\tpadding: 0 2px 0 5px;\n\t\tvertical-align: middle;\n\t}\n}\n.input-append,\n.input-prepend {\n\t&.date .add-on {\n\t\tcursor: pointer;\n\n\t\ti {\n\t\t\tmargin-top: 3px;\n\t\t}\n\t}\n}\n.input-daterange {\n\tinput {\n\t\ttext-align:center;\n\t}\n\tinput:first-child {\n\t\t.border-radius(3px 0 0 3px);\n\t}\n\tinput:last-child {\n\t\t.border-radius(0 3px 3px 0);\n\t}\n\t.add-on {\n\t\tdisplay: inline-block;\n\t\twidth: auto;\n\t\tmin-width: 16px;\n\t\theight: @baseLineHeight;\n\t\tpadding: 4px 5px;\n\t\tfont-weight: normal;\n\t\tline-height: @baseLineHeight;\n\t\ttext-align: center;\n\t\ttext-shadow: 0 1px 0 @white;\n\t\tvertical-align: middle;\n\t\tbackground-color: @grayLighter;\n\t\tborder: 1px solid #ccc;\n\t\tmargin-left: -5px;\n\t\tmargin-right: -5px;\n\t}\n}\n","// Datepicker .less buildfile. Includes select mixins/variables from bootstrap\n// and imports the included datepicker.less to output a minimal datepicker.css\n//\n// Usage:\n// lessc build.less datepicker.css\n//\n// Variables and mixins copied from bootstrap 2.0.2\n\n// Variables\n@grayLight: #999;\n@grayLighter: #eee;\n@white: #fff;\n@linkColor: #08c;\n@btnPrimaryBackground: @linkColor;\n@orange: #f89406;\n@infoBackground: #d9edf7;\n@baseLineHeight: 18px;\n@baseBorderRadius: 4px;\n\n// Mixins\n\n// Border Radius\n.border-radius(@radius: 5px) {\n -webkit-border-radius: @radius;\n -moz-border-radius: @radius;\n border-radius: @radius;\n}\n\n// Button backgrounds\n.buttonBackground(@startColor, @endColor) {\n .gradientBar(@startColor, @endColor);\n .reset-filter();\n &:hover, &:active, &.active, &.disabled, &[disabled] {\n background-color: @endColor;\n }\n &:active,\n &.active {\n background-color: darken(@endColor, 10%) e(\"\\9\");\n }\n}\n\n// Reset filters for IE\n.reset-filter() {\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n\n// Gradient Bar Colors for buttons and alerts\n.gradientBar(@primaryColor, @secondaryColor) {\n #gradient > .vertical(@primaryColor, @secondaryColor);\n border-color: @secondaryColor @secondaryColor darken(@secondaryColor, 15%);\n border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) fadein(rgba(0,0,0,.1), 15%);\n}\n\n// Gradients\n#gradient {\n .vertical(@startColor: #555, @endColor: #333) {\n background-color: mix(@startColor, @endColor, 60%);\n background-image: -moz-linear-gradient(to bottom, @startColor, @endColor); // FF 3.6+\n background-image: -ms-linear-gradient(to bottom, @startColor, @endColor); // IE10\n background-image: -webkit-gradient(linear, 0 0, 0 100%, from(@startColor), to(@endColor)); // Safari 4+, Chrome 2+\n background-image: -webkit-linear-gradient(to bottom, @startColor, @endColor); // Safari 5.1+, Chrome 10+\n background-image: -o-linear-gradient(to bottom, @startColor, @endColor); // Opera 11.10\n background-image: linear-gradient(to bottom, @startColor, @endColor); // The standard\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",@startColor,@endColor)); // IE9 and down\n }\n}\n\n@import \"../less/datepicker.less\";\n"]} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css deleted file mode 100644 index eb681513..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.css +++ /dev/null @@ -1,7 +0,0 @@ -/*! - * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) - * - * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) - */ - -.datepicker{padding:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datepicker-inline{width:220px}.datepicker-rtl{direction:rtl}.datepicker-rtl.dropdown-menu{left:auto}.datepicker-rtl table tr td span{float:right}.datepicker-dropdown{top:0;left:0}.datepicker-dropdown:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #999;border-top:0;border-bottom-color:rgba(0,0,0,.2);position:absolute}.datepicker-dropdown:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;border-top:0;position:absolute}.datepicker-dropdown.datepicker-orient-left:before{left:6px}.datepicker-dropdown.datepicker-orient-left:after{left:7px}.datepicker-dropdown.datepicker-orient-right:before{right:6px}.datepicker-dropdown.datepicker-orient-right:after{right:7px}.datepicker-dropdown.datepicker-orient-bottom:before{top:-7px}.datepicker-dropdown.datepicker-orient-bottom:after{top:-6px}.datepicker-dropdown.datepicker-orient-top:before{bottom:-7px;border-bottom:0;border-top:7px solid #999}.datepicker-dropdown.datepicker-orient-top:after{bottom:-6px;border-bottom:0;border-top:6px solid #fff}.datepicker table{margin:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.datepicker td,.datepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:none}.table-striped .datepicker table tr td,.table-striped .datepicker table tr th{background-color:transparent}.datepicker table tr td.day.focused,.datepicker table tr td.day:hover{background:#eee;cursor:pointer}.datepicker table tr td.new,.datepicker table tr td.old{color:#999}.datepicker table tr td.disabled,.datepicker table tr td.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td.highlighted{background:#d9edf7;border-radius:0}.datepicker table tr td.today,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today:hover{background-color:#fde19a;background-image:-moz-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:-o-linear-gradient(to bottom,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#000}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled.disabled,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover.disabled,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today.disabled:hover:hover,.datepicker table tr td.today.disabled:hover[disabled],.datepicker table tr td.today.disabled[disabled],.datepicker table tr td.today:active,.datepicker table tr td.today:hover,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover.disabled,.datepicker table tr td.today:hover:active,.datepicker table tr td.today:hover:hover,.datepicker table tr td.today:hover[disabled],.datepicker table tr td.today[disabled]{background-color:#fdf59a}.datepicker table tr td.today.active,.datepicker table tr td.today.disabled.active,.datepicker table tr td.today.disabled:active,.datepicker table tr td.today.disabled:hover.active,.datepicker table tr td.today.disabled:hover:active,.datepicker table tr td.today:active,.datepicker table tr td.today:hover.active,.datepicker table tr td.today:hover:active{background-color:#fbf069\9}.datepicker table tr td.today:hover:hover{color:#000}.datepicker table tr td.today.active:hover{color:#fff}.datepicker table tr td.range,.datepicker table tr td.range.disabled,.datepicker table tr td.range.disabled:hover,.datepicker table tr td.range:hover{background:#eee;-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today:hover{background-color:#f3d17a;background-image:-moz-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-ms-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#f3c17a),to(#f3e97a));background-image:-webkit-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:-o-linear-gradient(to bottom,#f3c17a,#f3e97a);background-image:linear-gradient(to bottom,#f3c17a,#f3e97a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);border-color:#f3e97a #f3e97a #edde34;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);-webkit-border-radius:0;-moz-border-radius:0;border-radius:0}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled.disabled,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover.disabled,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today.disabled:hover:hover,.datepicker table tr td.range.today.disabled:hover[disabled],.datepicker table tr td.range.today.disabled[disabled],.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover.disabled,.datepicker table tr td.range.today:hover:active,.datepicker table tr td.range.today:hover:hover,.datepicker table tr td.range.today:hover[disabled],.datepicker table tr td.range.today[disabled]{background-color:#f3e97a}.datepicker table tr td.range.today.active,.datepicker table tr td.range.today.disabled.active,.datepicker table tr td.range.today.disabled:active,.datepicker table tr td.range.today.disabled:hover.active,.datepicker table tr td.range.today.disabled:hover:active,.datepicker table tr td.range.today:active,.datepicker table tr td.range.today:hover.active,.datepicker table tr td.range.today:hover:active{background-color:#efe24b\9}.datepicker table tr td.selected,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected:hover{background-color:#9e9e9e;background-image:-moz-linear-gradient(to bottom,#b3b3b3,grey);background-image:-ms-linear-gradient(to bottom,#b3b3b3,grey);background-image:-webkit-gradient(linear,0 0,0 100%,from(#b3b3b3),to(grey));background-image:-webkit-linear-gradient(to bottom,#b3b3b3,grey);background-image:-o-linear-gradient(to bottom,#b3b3b3,grey);background-image:linear-gradient(to bottom,#b3b3b3,grey);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);border-color:grey grey #595959;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled.disabled,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover.disabled,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected.disabled:hover:hover,.datepicker table tr td.selected.disabled:hover[disabled],.datepicker table tr td.selected.disabled[disabled],.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover.disabled,.datepicker table tr td.selected:hover:active,.datepicker table tr td.selected:hover:hover,.datepicker table tr td.selected:hover[disabled],.datepicker table tr td.selected[disabled]{background-color:grey}.datepicker table tr td.selected.active,.datepicker table tr td.selected.disabled.active,.datepicker table tr td.selected.disabled:active,.datepicker table tr td.selected.disabled:hover.active,.datepicker table tr td.selected.disabled:hover:active,.datepicker table tr td.selected:active,.datepicker table tr td.selected:hover.active,.datepicker table tr td.selected:hover:active{background-color:#666\9}.datepicker table tr td.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled.disabled,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover.disabled,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active.disabled:hover:hover,.datepicker table tr td.active.disabled:hover[disabled],.datepicker table tr td.active.disabled[disabled],.datepicker table tr td.active:active,.datepicker table tr td.active:hover,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover.disabled,.datepicker table tr td.active:hover:active,.datepicker table tr td.active:hover:hover,.datepicker table tr td.active:hover[disabled],.datepicker table tr td.active[disabled]{background-color:#04c}.datepicker table tr td.active.active,.datepicker table tr td.active.disabled.active,.datepicker table tr td.active.disabled:active,.datepicker table tr td.active.disabled:hover.active,.datepicker table tr td.active.disabled:hover:active,.datepicker table tr td.active:active,.datepicker table tr td.active:hover.active,.datepicker table tr td.active:hover:active{background-color:#039\9}.datepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datepicker table tr td span.focused,.datepicker table tr td span:hover{background:#eee}.datepicker table tr td span.disabled,.datepicker table tr td span.disabled:hover{background:0 0;color:#999;cursor:default}.datepicker table tr td span.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active:hover{background-color:#006dcc;background-image:-moz-linear-gradient(to bottom,#08c,#04c);background-image:-ms-linear-gradient(to bottom,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(to bottom,#08c,#04c);background-image:-o-linear-gradient(to bottom,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled.disabled,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover.disabled,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active.disabled:hover:hover,.datepicker table tr td span.active.disabled:hover[disabled],.datepicker table tr td span.active.disabled[disabled],.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover.disabled,.datepicker table tr td span.active:hover:active,.datepicker table tr td span.active:hover:hover,.datepicker table tr td span.active:hover[disabled],.datepicker table tr td span.active[disabled]{background-color:#04c}.datepicker table tr td span.active.active,.datepicker table tr td span.active.disabled.active,.datepicker table tr td span.active.disabled:active,.datepicker table tr td span.active.disabled:hover.active,.datepicker table tr td span.active.disabled:hover:active,.datepicker table tr td span.active:active,.datepicker table tr td span.active:hover.active,.datepicker table tr td span.active:hover:active{background-color:#039\9}.datepicker table tr td span.new,.datepicker table tr td span.old{color:#999}.datepicker .datepicker-switch{width:145px}.datepicker .datepicker-switch,.datepicker .next,.datepicker .prev,.datepicker tfoot tr th{cursor:pointer}.datepicker .datepicker-switch:hover,.datepicker .next:hover,.datepicker .prev:hover,.datepicker tfoot tr th:hover{background:#eee}.datepicker .next.disabled,.datepicker .prev.disabled{visibility:hidden}.datepicker .cw{font-size:10px;width:12px;padding:0 2px 0 5px;vertical-align:middle}.input-append.date .add-on,.input-prepend.date .add-on{cursor:pointer}.input-append.date .add-on i,.input-prepend.date .add-on i{margin-top:3px}.input-daterange input{text-align:center}.input-daterange input:first-child{-webkit-border-radius:3px 0 0 3px;-moz-border-radius:3px 0 0 3px;border-radius:3px 0 0 3px}.input-daterange input:last-child{-webkit-border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0}.input-daterange .add-on{display:inline-block;width:auto;min-width:16px;height:18px;padding:4px 5px;font-weight:400;line-height:18px;text-align:center;text-shadow:0 1px 0 #fff;vertical-align:middle;background-color:#eee;border:1px solid #ccc;margin-left:-5px;margin-right:-5px} \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js deleted file mode 100644 index 8800106e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/bootstrap-datepicker.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/*! - * Datepicker for Bootstrap v1.9.0 (https://github.com/uxsolutions/bootstrap-datepicker) - * - * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0) - */ - -!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a,b){function c(){return new Date(Date.UTC.apply(Date,arguments))}function d(){var a=new Date;return c(a.getFullYear(),a.getMonth(),a.getDate())}function e(a,b){return a.getUTCFullYear()===b.getUTCFullYear()&&a.getUTCMonth()===b.getUTCMonth()&&a.getUTCDate()===b.getUTCDate()}function f(c,d){return function(){return d!==b&&a.fn.datepicker.deprecated(d),this[c].apply(this,arguments)}}function g(a){return a&&!isNaN(a.getTime())}function h(b,c){function d(a,b){return b.toLowerCase()}var e,f=a(b).data(),g={},h=new RegExp("^"+c.toLowerCase()+"([A-Z])");c=new RegExp("^"+c.toLowerCase());for(var i in f)c.test(i)&&(e=i.replace(h,d),g[e]=f[i]);return g}function i(b){var c={};if(q[b]||(b=b.split("-")[0],q[b])){var d=q[b];return a.each(p,function(a,b){b in d&&(c[b]=d[b])}),c}}var j=function(){var b={get:function(a){return this.slice(a)[0]},contains:function(a){for(var b=a&&a.valueOf(),c=0,d=this.length;c]/g)||[]).length<=0)return!0;return a(c).length>0}catch(a){return!1}},_process_options:function(b){this._o=a.extend({},this._o,b);var e=this.o=a.extend({},this._o),f=e.language;q[f]||(f=f.split("-")[0],q[f]||(f=o.language)),e.language=f,e.startView=this._resolveViewName(e.startView),e.minViewMode=this._resolveViewName(e.minViewMode),e.maxViewMode=this._resolveViewName(e.maxViewMode),e.startView=Math.max(this.o.minViewMode,Math.min(this.o.maxViewMode,e.startView)),!0!==e.multidate&&(e.multidate=Number(e.multidate)||!1,!1!==e.multidate&&(e.multidate=Math.max(0,e.multidate))),e.multidateSeparator=String(e.multidateSeparator),e.weekStart%=7,e.weekEnd=(e.weekStart+6)%7;var g=r.parseFormat(e.format);e.startDate!==-1/0&&(e.startDate?e.startDate instanceof Date?e.startDate=this._local_to_utc(this._zero_time(e.startDate)):e.startDate=r.parseDate(e.startDate,g,e.language,e.assumeNearbyYear):e.startDate=-1/0),e.endDate!==1/0&&(e.endDate?e.endDate instanceof Date?e.endDate=this._local_to_utc(this._zero_time(e.endDate)):e.endDate=r.parseDate(e.endDate,g,e.language,e.assumeNearbyYear):e.endDate=1/0),e.daysOfWeekDisabled=this._resolveDaysOfWeek(e.daysOfWeekDisabled||[]),e.daysOfWeekHighlighted=this._resolveDaysOfWeek(e.daysOfWeekHighlighted||[]),e.datesDisabled=e.datesDisabled||[],a.isArray(e.datesDisabled)||(e.datesDisabled=e.datesDisabled.split(",")),e.datesDisabled=a.map(e.datesDisabled,function(a){return r.parseDate(a,g,e.language,e.assumeNearbyYear)});var h=String(e.orientation).toLowerCase().split(/\s+/g),i=e.orientation.toLowerCase();if(h=a.grep(h,function(a){return/^auto|left|right|top|bottom$/.test(a)}),e.orientation={x:"auto",y:"auto"},i&&"auto"!==i)if(1===h.length)switch(h[0]){case"top":case"bottom":e.orientation.y=h[0];break;case"left":case"right":e.orientation.x=h[0]}else i=a.grep(h,function(a){return/^left|right$/.test(a)}),e.orientation.x=i[0]||"auto",i=a.grep(h,function(a){return/^top|bottom$/.test(a)}),e.orientation.y=i[0]||"auto";else;if(e.defaultViewDate instanceof Date||"string"==typeof e.defaultViewDate)e.defaultViewDate=r.parseDate(e.defaultViewDate,g,e.language,e.assumeNearbyYear);else if(e.defaultViewDate){var j=e.defaultViewDate.year||(new Date).getFullYear(),k=e.defaultViewDate.month||0,l=e.defaultViewDate.day||1;e.defaultViewDate=c(j,k,l)}else e.defaultViewDate=d()},_applyEvents:function(a){for(var c,d,e,f=0;fe?(this.picker.addClass("datepicker-orient-right"),m+=l-b):this.o.rtl?this.picker.addClass("datepicker-orient-right"):this.picker.addClass("datepicker-orient-left");var o,p=this.o.orientation.y;if("auto"===p&&(o=-f+n-c,p=o<0?"bottom":"top"),this.picker.addClass("datepicker-orient-"+p),"top"===p?n-=c+parseInt(this.picker.css("padding-top")):n+=k,this.o.rtl){var q=e-(m+l);this.picker.css({top:n,right:q,zIndex:i})}else this.picker.css({top:n,left:m,zIndex:i});return this},_allow_update:!0,update:function(){if(!this._allow_update)return this;var b=this.dates.copy(),c=[],d=!1;return arguments.length?(a.each(arguments,a.proxy(function(a,b){b instanceof Date&&(b=this._local_to_utc(b)),c.push(b)},this)),d=!0):(c=this.isInput?this.element.val():this.element.data("date")||this.inputField.val(),c=c&&this.o.multidate?c.split(this.o.multidateSeparator):[c],delete this.element.data().date),c=a.map(c,a.proxy(function(a){return r.parseDate(a,this.o.format,this.o.language,this.o.assumeNearbyYear)},this)),c=a.grep(c,a.proxy(function(a){return!this.dateWithinRange(a)||!a},this),!0),this.dates.replace(c),this.o.updateViewDate&&(this.dates.length?this.viewDate=new Date(this.dates.get(-1)):this.viewDatethis.o.endDate?this.viewDate=new Date(this.o.endDate):this.viewDate=this.o.defaultViewDate),d?(this.setValue(),this.element.change()):this.dates.length&&String(b)!==String(this.dates)&&d&&(this._trigger("changeDate"),this.element.change()),!this.dates.length&&b.length&&(this._trigger("clearDate"),this.element.change()),this.fill(),this},fillDow:function(){if(this.o.showWeekDays){var b=this.o.weekStart,c="";for(this.o.calendarWeeks&&(c+=' ');b";c+="",this.picker.find(".datepicker-days thead").append(c)}},fillMonths:function(){for(var a,b=this._utc_to_local(this.viewDate),c="",d=0;d<12;d++)a=b&&b.getMonth()===d?" focused":"",c+=''+q[this.o.language].monthsShort[d]+"";this.picker.find(".datepicker-months td").html(c)},setRange:function(b){b&&b.length?this.range=a.map(b,function(a){return a.valueOf()}):delete this.range,this.fill()},getClassNames:function(b){var c=[],f=this.viewDate.getUTCFullYear(),g=this.viewDate.getUTCMonth(),h=d();return b.getUTCFullYear()f||b.getUTCFullYear()===f&&b.getUTCMonth()>g)&&c.push("new"),this.focusDate&&b.valueOf()===this.focusDate.valueOf()&&c.push("focused"),this.o.todayHighlight&&e(b,h)&&c.push("today"),-1!==this.dates.contains(b)&&c.push("active"),this.dateWithinRange(b)||c.push("disabled"),this.dateIsDisabled(b)&&c.push("disabled","disabled-date"),-1!==a.inArray(b.getUTCDay(),this.o.daysOfWeekHighlighted)&&c.push("highlighted"),this.range&&(b>this.range[0]&&bh)&&j.push("disabled"),t===r&&j.push("focused"),i!==a.noop&&(l=i(new Date(t,0,1)),l===b?l={}:"boolean"==typeof l?l={enabled:l}:"string"==typeof l&&(l={classes:l}),!1===l.enabled&&j.push("disabled"),l.classes&&(j=j.concat(l.classes.split(/\s+/))),l.tooltip&&(k=l.tooltip)),m+='"+t+"";o.find(".datepicker-switch").text(p+"-"+q),o.find("td").html(m)},fill:function(){var e,f,g=new Date(this.viewDate),h=g.getUTCFullYear(),i=g.getUTCMonth(),j=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,k=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,l=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,m=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,n=q[this.o.language].today||q.en.today||"",o=q[this.o.language].clear||q.en.clear||"",p=q[this.o.language].titleFormat||q.en.titleFormat,s=d(),t=(!0===this.o.todayBtn||"linked"===this.o.todayBtn)&&s>=this.o.startDate&&s<=this.o.endDate&&!this.weekOfDateIsDisabled(s);if(!isNaN(h)&&!isNaN(i)){this.picker.find(".datepicker-days .datepicker-switch").text(r.formatDate(g,p,this.o.language)),this.picker.find("tfoot .today").text(n).css("display",t?"table-cell":"none"),this.picker.find("tfoot .clear").text(o).css("display",!0===this.o.clearBtn?"table-cell":"none"),this.picker.find("thead .datepicker-title").text(this.o.title).css("display","string"==typeof this.o.title&&""!==this.o.title?"table-cell":"none"),this.updateNavArrows(),this.fillMonths();var u=c(h,i,0),v=u.getUTCDate();u.setUTCDate(v-(u.getUTCDay()-this.o.weekStart+7)%7);var w=new Date(u);u.getUTCFullYear()<100&&w.setUTCFullYear(u.getUTCFullYear()),w.setUTCDate(w.getUTCDate()+42),w=w.valueOf();for(var x,y,z=[];u.valueOf()"),this.o.calendarWeeks)){var A=new Date(+u+(this.o.weekStart-x-7)%7*864e5),B=new Date(Number(A)+(11-A.getUTCDay())%7*864e5),C=new Date(Number(C=c(B.getUTCFullYear(),0,1))+(11-C.getUTCDay())%7*864e5),D=(B-C)/864e5/7+1;z.push(''+D+"")}y=this.getClassNames(u),y.push("day");var E=u.getUTCDate();this.o.beforeShowDay!==a.noop&&(f=this.o.beforeShowDay(this._utc_to_local(u)),f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1===f.enabled&&y.push("disabled"),f.classes&&(y=y.concat(f.classes.split(/\s+/))),f.tooltip&&(e=f.tooltip),f.content&&(E=f.content)),y=a.isFunction(a.uniqueSort)?a.uniqueSort(y):a.unique(y),z.push(''+E+""),e=null,x===this.o.weekEnd&&z.push(""),u.setUTCDate(u.getUTCDate()+1)}this.picker.find(".datepicker-days tbody").html(z.join(""));var F=q[this.o.language].monthsTitle||q.en.monthsTitle||"Months",G=this.picker.find(".datepicker-months").find(".datepicker-switch").text(this.o.maxViewMode<2?F:h).end().find("tbody span").removeClass("active");if(a.each(this.dates,function(a,b){b.getUTCFullYear()===h&&G.eq(b.getUTCMonth()).addClass("active")}),(hl)&&G.addClass("disabled"),h===j&&G.slice(0,k).addClass("disabled"),h===l&&G.slice(m+1).addClass("disabled"),this.o.beforeShowMonth!==a.noop){var H=this;a.each(G,function(c,d){var e=new Date(h,c,1),f=H.o.beforeShowMonth(e);f===b?f={}:"boolean"==typeof f?f={enabled:f}:"string"==typeof f&&(f={classes:f}),!1!==f.enabled||a(d).hasClass("disabled")||a(d).addClass("disabled"),f.classes&&a(d).addClass(f.classes),f.tooltip&&a(d).prop("title",f.tooltip)})}this._fill_yearsView(".datepicker-years","year",10,h,j,l,this.o.beforeShowYear),this._fill_yearsView(".datepicker-decades","decade",100,h,j,l,this.o.beforeShowDecade),this._fill_yearsView(".datepicker-centuries","century",1e3,h,j,l,this.o.beforeShowCentury)}},updateNavArrows:function(){if(this._allow_update){var a,b,c=new Date(this.viewDate),d=c.getUTCFullYear(),e=c.getUTCMonth(),f=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,g=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,h=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,i=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0,j=1;switch(this.viewMode){case 4:j*=10;case 3:j*=10;case 2:j*=10;case 1:a=Math.floor(d/j)*j<=f,b=Math.floor(d/j)*j+j>h;break;case 0:a=d<=f&&e<=g,b=d>=h&&e>=i}this.picker.find(".prev").toggleClass("disabled",a),this.picker.find(".next").toggleClass("disabled",b)}},click:function(b){b.preventDefault(),b.stopPropagation();var e,f,g,h;e=a(b.target),e.hasClass("datepicker-switch")&&this.viewMode!==this.o.maxViewMode&&this.setViewMode(this.viewMode+1),e.hasClass("today")&&!e.hasClass("day")&&(this.setViewMode(0),this._setDate(d(),"linked"===this.o.todayBtn?null:"view")),e.hasClass("clear")&&this.clearDates(),e.hasClass("disabled")||(e.hasClass("month")||e.hasClass("year")||e.hasClass("decade")||e.hasClass("century"))&&(this.viewDate.setUTCDate(1),f=1,1===this.viewMode?(h=e.parent().find("span").index(e),g=this.viewDate.getUTCFullYear(),this.viewDate.setUTCMonth(h)):(h=0,g=Number(e.text()),this.viewDate.setUTCFullYear(g)),this._trigger(r.viewModes[this.viewMode-1].e,this.viewDate),this.viewMode===this.o.minViewMode?this._setDate(c(g,h,f)):(this.setViewMode(this.viewMode-1),this.fill())),this.picker.is(":visible")&&this._focused_from&&this._focused_from.focus(),delete this._focused_from},dayCellClick:function(b){var c=a(b.currentTarget),d=c.data("date"),e=new Date(d);this.o.updateViewDate&&(e.getUTCFullYear()!==this.viewDate.getUTCFullYear()&&this._trigger("changeYear",this.viewDate),e.getUTCMonth()!==this.viewDate.getUTCMonth()&&this._trigger("changeMonth",this.viewDate)),this._setDate(e)},navArrowsClick:function(b){var c=a(b.currentTarget),d=c.hasClass("prev")?-1:1;0!==this.viewMode&&(d*=12*r.viewModes[this.viewMode].navStep),this.viewDate=this.moveMonth(this.viewDate,d),this._trigger(r.viewModes[this.viewMode].e,this.viewDate),this.fill()},_toggle_multidate:function(a){var b=this.dates.contains(a);if(a||this.dates.clear(),-1!==b?(!0===this.o.multidate||this.o.multidate>1||this.o.toggleActive)&&this.dates.remove(b):!1===this.o.multidate?(this.dates.clear(),this.dates.push(a)):this.dates.push(a),"number"==typeof this.o.multidate)for(;this.dates.length>this.o.multidate;)this.dates.remove(0)},_setDate:function(a,b){b&&"date"!==b||this._toggle_multidate(a&&new Date(a)),(!b&&this.o.updateViewDate||"view"===b)&&(this.viewDate=a&&new Date(a)),this.fill(),this.setValue(),b&&"view"===b||this._trigger("changeDate"),this.inputField.trigger("change"),!this.o.autoclose||b&&"date"!==b||this.hide()},moveDay:function(a,b){var c=new Date(a);return c.setUTCDate(a.getUTCDate()+b),c},moveWeek:function(a,b){return this.moveDay(a,7*b)},moveMonth:function(a,b){if(!g(a))return this.o.defaultViewDate;if(!b)return a;var c,d,e=new Date(a.valueOf()),f=e.getUTCDate(),h=e.getUTCMonth(),i=Math.abs(b);if(b=b>0?1:-1,1===i)d=-1===b?function(){return e.getUTCMonth()===h}:function(){return e.getUTCMonth()!==c},c=h+b,e.setUTCMonth(c),c=(c+12)%12;else{for(var j=0;j0},dateWithinRange:function(a){return a>=this.o.startDate&&a<=this.o.endDate},keydown:function(a){if(!this.picker.is(":visible"))return void(40!==a.keyCode&&27!==a.keyCode||(this.show(),a.stopPropagation()));var b,c,d=!1,e=this.focusDate||this.viewDate;switch(a.keyCode){case 27:this.focusDate?(this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill()):this.hide(),a.preventDefault(),a.stopPropagation();break;case 37:case 38:case 39:case 40:if(!this.o.keyboardNavigation||7===this.o.daysOfWeekDisabled.length)break;b=37===a.keyCode||38===a.keyCode?-1:1,0===this.viewMode?a.ctrlKey?(c=this.moveAvailableDate(e,b,"moveYear"))&&this._trigger("changeYear",this.viewDate):a.shiftKey?(c=this.moveAvailableDate(e,b,"moveMonth"))&&this._trigger("changeMonth",this.viewDate):37===a.keyCode||39===a.keyCode?c=this.moveAvailableDate(e,b,"moveDay"):this.weekOfDateIsDisabled(e)||(c=this.moveAvailableDate(e,b,"moveWeek")):1===this.viewMode?(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveMonth")):2===this.viewMode&&(38!==a.keyCode&&40!==a.keyCode||(b*=4),c=this.moveAvailableDate(e,b,"moveYear")),c&&(this.focusDate=this.viewDate=c,this.setValue(),this.fill(),a.preventDefault());break;case 13:if(!this.o.forceParse)break;e=this.focusDate||this.dates.get(-1)||this.viewDate,this.o.keyboardNavigation&&(this._toggle_multidate(e),d=!0),this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.setValue(),this.fill(),this.picker.is(":visible")&&(a.preventDefault(),a.stopPropagation(),this.o.autoclose&&this.hide());break;case 9:this.focusDate=null,this.viewDate=this.dates.get(-1)||this.viewDate,this.fill(),this.hide()}d&&(this.dates.length?this._trigger("changeDate"):this._trigger("clearDate"),this.inputField.trigger("change"))},setViewMode:function(a){this.viewMode=a,this.picker.children("div").hide().filter(".datepicker-"+r.viewModes[this.viewMode].clsName).show(),this.updateNavArrows(),this._trigger("changeViewMode",new Date(this.viewDate))}};var l=function(b,c){a.data(b,"datepicker",this),this.element=a(b),this.inputs=a.map(c.inputs,function(a){return a.jquery?a[0]:a}),delete c.inputs,this.keepEmptyValues=c.keepEmptyValues,delete c.keepEmptyValues,n.call(a(this.inputs),c).on("changeDate",a.proxy(this.dateUpdated,this)),this.pickers=a.map(this.inputs,function(b){return a.data(b,"datepicker")}),this.updateDates()};l.prototype={updateDates:function(){this.dates=a.map(this.pickers,function(a){return a.getUTCDate()}),this.updateRanges()},updateRanges:function(){var b=a.map(this.dates,function(a){return a.valueOf()});a.each(this.pickers,function(a,c){c.setRange(b)})},clearDates:function(){a.each(this.pickers,function(a,b){b.clearDates()})},dateUpdated:function(c){if(!this.updating){this.updating=!0;var d=a.data(c.target,"datepicker");if(d!==b){var e=d.getUTCDate(),f=this.keepEmptyValues,g=a.inArray(c.target,this.inputs),h=g-1,i=g+1,j=this.inputs.length;if(-1!==g){if(a.each(this.pickers,function(a,b){b.getUTCDate()||b!==d&&f||b.setUTCDate(e)}),e=0&&ethis.dates[i])for(;ithis.dates[i];)this.pickers[i++].setUTCDate(e);this.updateDates(),delete this.updating}}}},destroy:function(){a.map(this.pickers,function(a){a.destroy()}),a(this.inputs).off("changeDate",this.dateUpdated),delete this.element.data().datepicker},remove:f("destroy","Method `remove` is deprecated and will be removed in version 2.0. Use `destroy` instead")};var m=a.fn.datepicker,n=function(c){var d=Array.apply(null,arguments);d.shift();var e;if(this.each(function(){var b=a(this),f=b.data("datepicker"),g="object"==typeof c&&c;if(!f){var j=h(this,"date"),m=a.extend({},o,j,g),n=i(m.language),p=a.extend({},o,n,j,g);b.hasClass("input-daterange")||p.inputs?(a.extend(p,{inputs:p.inputs||b.find("input").toArray()}),f=new l(this,p)):f=new k(this,p),b.data("datepicker",f)}"string"==typeof c&&"function"==typeof f[c]&&(e=f[c].apply(f,d))}),e===b||e instanceof k||e instanceof l)return this;if(this.length>1)throw new Error("Using only allowed for the collection of a single element ("+c+" function)");return e};a.fn.datepicker=n;var o=a.fn.datepicker.defaults={assumeNearbyYear:!1,autoclose:!1,beforeShowDay:a.noop,beforeShowMonth:a.noop,beforeShowYear:a.noop,beforeShowDecade:a.noop,beforeShowCentury:a.noop,calendarWeeks:!1,clearBtn:!1,toggleActive:!1,daysOfWeekDisabled:[],daysOfWeekHighlighted:[],datesDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keepEmptyValues:!1,keyboardNavigation:!0,language:"en",minViewMode:0,maxViewMode:4,multidate:!1,multidateSeparator:",",orientation:"auto",rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,updateViewDate:!0,weekStart:0,disableTouchKeyboard:!1,enableOnReadonly:!0,showOnFocus:!0,zIndexOffset:10,container:"body",immediateUpdates:!1,title:"",templates:{leftArrow:"«",rightArrow:"»"},showWeekDays:!0},p=a.fn.datepicker.locale_opts=["format","rtl","weekStart"];a.fn.datepicker.Constructor=k;var q=a.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear",titleFormat:"MM yyyy"}},r={viewModes:[{names:["days","month"],clsName:"days",e:"changeMonth"},{names:["months","year"],clsName:"months",e:"changeYear",navStep:1},{names:["years","decade"],clsName:"years",e:"changeDecade",navStep:10},{names:["decades","century"],clsName:"decades",e:"changeCentury",navStep:100},{names:["centuries","millennium"],clsName:"centuries",e:"changeMillennium",navStep:1e3}],validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^ -\/:-@\u5e74\u6708\u65e5\[-`{-~\t\n\r]+/g,parseFormat:function(a){if("function"==typeof a.toValue&&"function"==typeof a.toDisplay)return a;var b=a.replace(this.validParts,"\0").split("\0"),c=a.match(this.validParts);if(!b||!b.length||!c||0===c.length)throw new Error("Invalid date format.");return{separators:b,parts:c}},parseDate:function(c,e,f,g){function h(a,b){return!0===b&&(b=10),a<100&&(a+=2e3)>(new Date).getFullYear()+b&&(a-=100),a}function i(){var a=this.slice(0,j[n].length),b=j[n].slice(0,a.length);return a.toLowerCase()===b.toLowerCase()}if(!c)return b;if(c instanceof Date)return c;if("string"==typeof e&&(e=r.parseFormat(e)),e.toValue)return e.toValue(c,e,f);var j,l,m,n,o,p={d:"moveDay",m:"moveMonth",w:"moveWeek",y:"moveYear"},s={yesterday:"-1d",today:"+0d",tomorrow:"+1d"};if(c in s&&(c=s[c]),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/i.test(c)){for(j=c.match(/([\-+]\d+)([dmwy])/gi),c=new Date,n=0;n'+o.templates.leftArrow+''+o.templates.rightArrow+"",contTemplate:'',footTemplate:''};r.template='

    ",a.fn.datepicker.DPGlobal=r,a.fn.datepicker.noConflict=function(){return a.fn.datepicker=m,this},a.fn.datepicker.version="1.9.0",a.fn.datepicker.deprecated=function(a){var b=window.console;b&&b.warn&&b.warn("DEPRECATED: "+a)},a(document).on("focus.datepicker.data-api click.datepicker.data-api",'[data-provide="datepicker"]',function(b){var c=a(this);c.data("datepicker")||(b.preventDefault(),n.call(c,"show"))}),a(function(){n.call(a('[data-provide="datepicker-inline"]'))})}); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js deleted file mode 100644 index 0aab38f3..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker-en-CA.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"},a.fn.datepicker.deprecated("This filename doesn't follow the convention, use bootstrap-datepicker.en-CA.js instead.")}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js deleted file mode 100644 index 9d70dc2f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar-tn.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["ar-tn"]={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["جانفي","فيفري","مارس","أفريل","ماي","جوان","جويليه","أوت","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js deleted file mode 100644 index ece41af7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ar.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.ar={days:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"],daysShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت","أحد"],daysMin:["ح","ن","ث","ع","خ","ج","س","ح"],months:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthsShort:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],today:"هذا اليوم",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js deleted file mode 100644 index aa1edbf4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.az.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.az={days:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"],daysShort:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],daysMin:["B.","B.e","Ç.a","Ç.","C.a","C.","Ş."],months:["Yanvar","Fevral","Mart","Aprel","May","İyun","İyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","İyun","İyul","Avq","Sen","Okt","Noy","Dek"],today:"Bu gün",weekStart:1,clear:"Təmizlə",monthsTitle:"Aylar"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js deleted file mode 100644 index 28e8b22d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bg.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.bg={days:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],daysShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],daysMin:["Н","П","В","С","Ч","П","С"],months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Ян","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Ное","Дек"],today:"днес"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js deleted file mode 100644 index e0796a3b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bm.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.bm={days:["Kari","Ntɛnɛn","Tarata","Araba","Alamisa","Juma","Sibiri"],daysShort:["Kar","Ntɛ","Tar","Ara","Ala","Jum","Sib"],daysMin:["Ka","Nt","Ta","Ar","Al","Ju","Si"],months:["Zanwuyekalo","Fewuruyekalo","Marisikalo","Awirilikalo","Mɛkalo","Zuwɛnkalo","Zuluyekalo","Utikalo","Sɛtanburukalo","ɔkutɔburukalo","Nowanburukalo","Desanburukalo"],monthsShort:["Zan","Few","Mar","Awi","Mɛ","Zuw","Zul","Uti","Sɛt","ɔku","Now","Des"],today:"Bi",monthsTitle:"Kalo",clear:"Ka jɔsi",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js deleted file mode 100644 index f67b5e26..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bn.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.bn={days:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysShort:["রবিবার","সোমবার","মঙ্গলবার","বুধবার","বৃহস্পতিবার","শুক্রবার","শনিবার"],daysMin:["রবি","সোম","মঙ্গল","বুধ","বৃহস্পতি","শুক্র","শনি"],months:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],monthsShort:["জানুয়ারী","ফেব্রুয়ারি","মার্চ","এপ্রিল","মে","জুন","জুলাই","অগাস্ট","সেপ্টেম্বর","অক্টোবর","নভেম্বর","ডিসেম্বর"],today:"আজ",monthsTitle:"মাস",clear:"পরিষ্কার",weekStart:0,format:"mm/dd/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js deleted file mode 100644 index af3e3bd0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.br.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.br={days:["Sul","Lun","Meurzh","Merc'her","Yaou","Gwener","Sadorn"],daysShort:["Sul","Lun","Meu.","Mer.","Yao.","Gwe.","Sad."],daysMin:["Su","L","Meu","Mer","Y","G","Sa"],months:["Genver","C'hwevrer","Meurzh","Ebrel","Mae","Mezheven","Gouere","Eost","Gwengolo","Here","Du","Kerzu"],monthsShort:["Genv.","C'hw.","Meur.","Ebre.","Mae","Mezh.","Goue.","Eost","Gwen.","Here","Du","Kerz."],today:"Hiziv",monthsTitle:"Miz",clear:"Dilemel",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js deleted file mode 100644 index cfb06fde..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.bs.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.bs={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Juni","Juli","August","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js deleted file mode 100644 index ac107894..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ca.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.ca={days:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"],daysShort:["Diu","Dil","Dmt","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dt","dc","dj","dv","ds"],months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Des"],today:"Avui",monthsTitle:"Mesos",clear:"Esborrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js deleted file mode 100644 index 42dfd1a2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cs.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.cs={days:["Neděle","Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota"],daysShort:["Ned","Pon","Úte","Stř","Čtv","Pát","Sob"],daysMin:["Ne","Po","Út","St","Čt","Pá","So"],months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],monthsShort:["Led","Úno","Bře","Dub","Kvě","Čer","Čnc","Srp","Zář","Říj","Lis","Pro"],today:"Dnes",clear:"Vymazat",monthsTitle:"Měsíc",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js deleted file mode 100644 index f85ea031..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.cy.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.cy={days:["Sul","Llun","Mawrth","Mercher","Iau","Gwener","Sadwrn"],daysShort:["Sul","Llu","Maw","Mer","Iau","Gwe","Sad"],daysMin:["Su","Ll","Ma","Me","Ia","Gwe","Sa"],months:["Ionawr","Chewfror","Mawrth","Ebrill","Mai","Mehefin","Gorfennaf","Awst","Medi","Hydref","Tachwedd","Rhagfyr"],monthsShort:["Ion","Chw","Maw","Ebr","Mai","Meh","Gor","Aws","Med","Hyd","Tach","Rha"],today:"Heddiw"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js deleted file mode 100644 index 53c81805..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.da.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.da={days:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],daysShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],daysMin:["Sø","Ma","Ti","On","To","Fr","Lø"],months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],today:"I Dag",weekStart:1,clear:"Nulstil",format:"dd/mm/yyyy",monthsTitle:"Måneder"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js deleted file mode 100644 index 1b5d6a24..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.de.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.de={days:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],daysShort:["Son","Mon","Die","Mit","Don","Fre","Sam"],daysMin:["So","Mo","Di","Mi","Do","Fr","Sa"],months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthsShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],today:"Heute",monthsTitle:"Monate",clear:"Löschen",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js deleted file mode 100644 index 046e9eb5..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.el.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.el={days:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],daysShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],daysMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthsShort:["Ιαν","Φεβ","Μαρ","Απρ","Μάι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],today:"Σήμερα",clear:"Καθαρισμός",weekStart:1,format:"d/m/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js deleted file mode 100644 index b8d5f41c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-AU.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["en-AU"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js deleted file mode 100644 index 7b1070f7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-CA.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["en-CA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js deleted file mode 100644 index 2966f541..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-GB.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["en-GB"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js deleted file mode 100644 index dc8f71c0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-IE.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["en-IE"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js deleted file mode 100644 index c374a8d4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-NZ.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["en-NZ"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"d/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js deleted file mode 100644 index 885a928c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.en-ZA.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["en-ZA"]={days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",monthsTitle:"Months",clear:"Clear",weekStart:1,format:"yyyy/mm/d"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js deleted file mode 100644 index 736db021..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eo.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.eo={days:["dimanĉo","lundo","mardo","merkredo","ĵaŭdo","vendredo","sabato"],daysShort:["dim.","lun.","mar.","mer.","ĵaŭ.","ven.","sam."],daysMin:["d","l","ma","me","ĵ","v","s"],months:["januaro","februaro","marto","aprilo","majo","junio","julio","aŭgusto","septembro","oktobro","novembro","decembro"],monthsShort:["jan.","feb.","mar.","apr.","majo","jun.","jul.","aŭg.","sep.","okt.","nov.","dec."],today:"Hodiaŭ",clear:"Nuligi",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js deleted file mode 100644 index f3cef5d2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.es.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.es={days:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"],daysShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],daysMin:["Do","Lu","Ma","Mi","Ju","Vi","Sa"],months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],monthsShort:["Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic"],today:"Hoy",monthsTitle:"Meses",clear:"Borrar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js deleted file mode 100644 index 34cd9c60..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.et.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.et={days:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"],daysShort:["Pühap","Esmasp","Teisip","Kolmap","Neljap","Reede","Laup"],daysMin:["P","E","T","K","N","R","L"],months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],monthsShort:["Jaan","Veebr","Märts","Apr","Mai","Juuni","Juuli","Aug","Sept","Okt","Nov","Dets"],today:"Täna",clear:"Tühjenda",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js deleted file mode 100644 index c5aa359e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.eu.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.eu={days:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"],daysShort:["Ig","Al","Ar","Az","Og","Ol","Lr"],daysMin:["Ig","Al","Ar","Az","Og","Ol","Lr"],months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],monthsShort:["Urt","Ots","Mar","Api","Mai","Eka","Uzt","Abu","Ira","Urr","Aza","Abe"],today:"Gaur",monthsTitle:"Hilabeteak",clear:"Ezabatu",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js deleted file mode 100644 index 8575237a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fa.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.fa={days:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"],daysShort:["یک","دو","سه","چهار","پنج","جمعه","شنبه","یک"],daysMin:["ی","د","س","چ","پ","ج","ش","ی"],months:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthsShort:["ژان","فور","مار","آور","مه","ژون","ژوی","اوت","سپت","اکت","نوا","دسا"],today:"امروز",clear:"پاک کن",weekStart:1,format:"yyyy/mm/dd"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js deleted file mode 100644 index 239dfb79..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fi.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.fi={days:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"],daysShort:["sun","maa","tii","kes","tor","per","lau"],daysMin:["su","ma","ti","ke","to","pe","la"],months:["tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu"],monthsShort:["tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mar","jou"],today:"tänään",clear:"Tyhjennä",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js deleted file mode 100644 index fa24e3a1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fo.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.fo={days:["Sunnudagur","Mánadagur","Týsdagur","Mikudagur","Hósdagur","Fríggjadagur","Leygardagur"],daysShort:["Sun","Mán","Týs","Mik","Hós","Frí","Ley"],daysMin:["Su","Má","Tý","Mi","Hó","Fr","Le"],months:["Januar","Februar","Marts","Apríl","Mei","Juni","Juli","August","Septembur","Oktobur","Novembur","Desembur"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Aug","Sep","Okt","Nov","Des"],today:"Í Dag",clear:"Reinsa"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js deleted file mode 100644 index 1c6bcdcb..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr-CH.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.fr={days:["Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"],daysShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],daysMin:["D","L","Ma","Me","J","V","S"],months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],monthsShort:["Jan","Fév","Mar","Avr","Mai","Jui","Jul","Aou","Sep","Oct","Nov","Déc"],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js deleted file mode 100644 index 244cfba8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.fr.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.fr={days:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],daysShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],daysMin:["d","l","ma","me","j","v","s"],months:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthsShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],today:"Aujourd'hui",monthsTitle:"Mois",clear:"Effacer",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js deleted file mode 100644 index 3d92606b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.gl.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.gl={days:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],daysShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],daysMin:["Do","Lu","Ma","Me","Xo","Ve","Sa"],months:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthsShort:["Xan","Feb","Mar","Abr","Mai","Xun","Xul","Ago","Sep","Out","Nov","Dec"],today:"Hoxe",clear:"Limpar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js deleted file mode 100644 index 191cb453..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.he.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.he={days:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"],daysShort:["א","ב","ג","ד","ה","ו","ש","א"],daysMin:["א","ב","ג","ד","ה","ו","ש","א"],months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthsShort:["ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ"],today:"היום",rtl:!0}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js deleted file mode 100644 index 635baffa..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hi.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.hi={days:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],daysShort:["सूर्य","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],daysMin:["र","सो","मं","बु","गु","शु","श"],months:["जनवरी","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्टूबर","नवंबर","दिसम्बर"],monthsShort:["जन","फ़रवरी","मार्च","अप्रैल","मई","जून","जुलाई","अगस्त","सितं","अक्टूबर","नवं","दिसम्बर"],today:"आज",monthsTitle:"महीने",clear:"साफ",weekStart:1,format:"dd / mm / yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js deleted file mode 100644 index 8b34bce0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hr.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.hr={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthsShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],today:"Danas"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js deleted file mode 100644 index f9decf9a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hu.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.hu={days:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"],daysShort:["vas","hét","ked","sze","csü","pén","szo"],daysMin:["V","H","K","Sze","Cs","P","Szo"],months:["január","február","március","április","május","június","július","augusztus","szeptember","október","november","december"],monthsShort:["jan","feb","már","ápr","máj","jún","júl","aug","sze","okt","nov","dec"],today:"ma",weekStart:1,clear:"töröl",titleFormat:"yyyy. MM",format:"yyyy.mm.dd"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js deleted file mode 100644 index a1cf653d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.hy.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.hy={days:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"],daysShort:["Կիր","Երկ","Երե","Չոր","Հին","Ուրբ","Շաբ"],daysMin:["Կի","Եկ","Եք","Չո","Հի","Ու","Շա"],months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],monthsShort:["Հնվ","Փետ","Մար","Ապր","Մայ","Հուն","Հուլ","Օգս","Սեպ","Հոկ","Նոյ","Դեկ"],today:"Այսօր",clear:"Ջնջել",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ամիսնէր"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js deleted file mode 100644 index 7c3220a6..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.id.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.id={days:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],daysShort:["Mgu","Sen","Sel","Rab","Kam","Jum","Sab"],daysMin:["Mg","Sn","Sl","Ra","Ka","Ju","Sa"],months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ags","Sep","Okt","Nov","Des"],today:"Hari Ini",clear:"Kosongkan"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js deleted file mode 100644 index f49bd18c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.is.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.is={days:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],daysShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],daysMin:["Su","Má","Þr","Mi","Fi","Fö","La"],months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthsShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],today:"Í Dag"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js deleted file mode 100644 index 7e1adbb9..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it-CH.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",clear:"Cancella",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js deleted file mode 100644 index cc30766f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.it.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.it={days:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],daysShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],daysMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthsShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],today:"Oggi",monthsTitle:"Mesi",clear:"Cancella",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js deleted file mode 100644 index e321f04f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ja.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.ja={days:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"],daysShort:["日","月","火","水","木","金","土"],daysMin:["日","月","火","水","木","金","土"],months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今日",format:"yyyy/mm/dd",titleFormat:"yyyy年mm月",clear:"クリア"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js deleted file mode 100644 index 84f14c0e..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ka.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.ka={days:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"],daysShort:["კვი","ორშ","სამ","ოთხ","ხუთ","პარ","შაბ"],daysMin:["კვ","ორ","სა","ოთ","ხუ","პა","შა"],months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],monthsShort:["იან","თებ","მარ","აპრ","მაი","ივნ","ივლ","აგვ","სექ","ოქტ","ნოე","დეკ"],today:"დღეს",clear:"გასუფთავება",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js deleted file mode 100644 index bf2abc5d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kh.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.kh={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"},a.fn.datepicker.deprecated('The language code "kh" is deprecated and will be removed in 2.0. For Khmer support use "km" instead.')}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js deleted file mode 100644 index f4e2f3f1..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kk.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.kk={days:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"],daysShort:["Жек","Дүй","Сей","Сәр","Бей","Жұм","Сен"],daysMin:["Жк","Дс","Сс","Ср","Бс","Жм","Сн"],months:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],monthsShort:["Қаң","Ақп","Нау","Сәу","Мам","Мау","Шіл","Там","Қыр","Қаз","Қар","Жел"],today:"Бүгін",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js deleted file mode 100644 index 648d83f8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.km.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.km={days:["អាទិត្យ","ចន្ទ","អង្គារ","ពុធ","ព្រហស្បតិ៍","សុក្រ","សៅរ៍"],daysShort:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],daysMin:["អា.ទិ","ចន្ទ","អង្គារ","ពុធ","ព្រ.ហ","សុក្រ","សៅរ៍"],months:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],monthsShort:["មករា","កុម្ភះ","មិនា","មេសា","ឧសភា","មិថុនា","កក្កដា","សីហា","កញ្ញា","តុលា","វិច្ឆិកា","ធ្នូ"],today:"ថ្ងៃនេះ",clear:"សំអាត"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js deleted file mode 100644 index 9751ee5c..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ko.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.ko={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],today:"오늘",clear:"삭제",format:"yyyy-mm-dd",titleFormat:"yyyy년mm월",weekStart:0}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js deleted file mode 100644 index 43393409..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.kr.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.kr={days:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],daysShort:["일","월","화","수","목","금","토"],daysMin:["일","월","화","수","목","금","토"],months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthsShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"]},a.fn.datepicker.deprecated('The language code "kr" is deprecated and will be removed in 2.0. For korean support use "ko" instead.')}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js deleted file mode 100644 index da78ea85..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lt.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.lt={days:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"],daysShort:["S","Pr","A","T","K","Pn","Š"],daysMin:["Sk","Pr","An","Tr","Ke","Pn","Št"],months:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthsShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],today:"Šiandien",monthsTitle:"Mėnesiai",clear:"Išvalyti",weekStart:1,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js deleted file mode 100644 index 89cea00f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.lv.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.lv={days:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"],daysShort:["Sv","P","O","T","C","Pk","S"],daysMin:["Sv","Pr","Ot","Tr","Ce","Pk","Se"],months:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthsShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],monthsTitle:"Mēneši",today:"Šodien",clear:"Nodzēst",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js deleted file mode 100644 index c65a8916..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.me.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.me={days:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],daysMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,clear:"Izbriši",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js deleted file mode 100644 index 46423f75..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mk.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.mk={days:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],daysShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],daysMin:["Не","По","Вт","Ср","Че","Пе","Са"],months:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthsShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],today:"Денес",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js deleted file mode 100644 index 6ebaec9d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.mn.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.mn={days:["Ням","Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба"],daysShort:["Ням","Дав","Мяг","Лха","Пүр","Баа","Бям"],daysMin:["Ня","Да","Мя","Лх","Пү","Ба","Бя"],months:["Хулгана","Үхэр","Бар","Туулай","Луу","Могой","Морь","Хонь","Бич","Тахиа","Нохой","Гахай"],monthsShort:["Хул","Үхэ","Бар","Туу","Луу","Мог","Мор","Хон","Бич","Тах","Нох","Гах"],today:"Өнөөдөр",clear:"Тодорхой",format:"yyyy.mm.dd",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js deleted file mode 100644 index 47efafdc..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ms.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.ms={days:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],daysShort:["Aha","Isn","Sel","Rab","Kha","Jum","Sab"],daysMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],months:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthsShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],today:"Hari Ini",clear:"Bersihkan"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js deleted file mode 100644 index 85d3146d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl-BE.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["nl-BE"]={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Leegmaken",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js deleted file mode 100644 index af977b71..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.nl.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.nl={days:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],daysShort:["zo","ma","di","wo","do","vr","za"],daysMin:["zo","ma","di","wo","do","vr","za"],months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthsShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],today:"Vandaag",monthsTitle:"Maanden",clear:"Wissen",weekStart:1,format:"dd-mm-yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js deleted file mode 100644 index 0c5136e4..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.no.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.no={days:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],daysShort:["søn","man","tir","ons","tor","fre","lør"],daysMin:["sø","ma","ti","on","to","fr","lø"],months:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthsShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],today:"i dag",monthsTitle:"Måneder",clear:"Nullstill",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js deleted file mode 100644 index 630fa16b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.oc.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.oc={days:["Dimenge","Diluns","Dimars","Dimècres","Dijòus","Divendres","Dissabte"],daysShort:["Dim","Dil","Dmr","Dmc","Dij","Div","Dis"],daysMin:["dg","dl","dr","dc","dj","dv","ds"],months:["Genièr","Febrièr","Març","Abrial","Mai","Junh","Julhet","Agost","Setembre","Octobre","Novembre","Decembre"],monthsShort:["Gen","Feb","Mar","Abr","Mai","Jun","Jul","Ago","Set","Oct","Nov","Dec"],today:"Uèi",monthsTitle:"Meses",clear:"Escafar",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js deleted file mode 100644 index ffb30ec8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pl.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.pl={days:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],daysShort:["Niedz.","Pon.","Wt.","Śr.","Czw.","Piąt.","Sob."],daysMin:["Ndz.","Pn.","Wt.","Śr.","Czw.","Pt.","Sob."],months:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthsShort:["Sty.","Lut.","Mar.","Kwi.","Maj","Cze.","Lip.","Sie.","Wrz.","Paź.","Lis.","Gru."],today:"Dzisiaj",weekStart:1,clear:"Wyczyść",format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js deleted file mode 100644 index 2d3f8afd..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt-BR.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["pt-BR"]={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js deleted file mode 100644 index e2b4e64d..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.pt.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.pt={days:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"],daysShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],daysMin:["Do","Se","Te","Qu","Qu","Se","Sa"],months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthsShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],today:"Hoje",monthsTitle:"Meses",clear:"Limpar",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js deleted file mode 100644 index 5fff2986..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ro.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.ro={days:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],daysShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],daysMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthsShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],today:"Astăzi",clear:"Șterge",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js deleted file mode 100644 index e520c957..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs-latin.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["rs-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs-latin" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian latin support use "sr-latin" instead.')}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js deleted file mode 100644 index ba95ae29..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.rs.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.rs={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"},a.fn.datepicker.deprecated('This language code "rs" is deprecated (invalid serbian language code) and will be removed in 2.0. For Serbian support use "sr" instead.')}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js deleted file mode 100644 index 52bc010b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ru.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.ru={days:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"],daysShort:["Вск","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Сегодня",clear:"Очистить",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Месяцы"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js deleted file mode 100644 index b9746b8f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.si.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.si={days:["ඉරිදා","සඳුදා","අඟහරුවාදා","බදාදා","බ්‍රහස්පතින්දා","සිකුරාදා","සෙනසුරාදා"],daysShort:["ඉරි","සඳු","අඟ","බදා","බ්‍රහ","සිකු","සෙන"],daysMin:["ඉ","ස","අ","බ","බ්‍ර","සි","සෙ"],months:["ජනවාරි","පෙබරවාරි","මාර්තු","අප්‍රේල්","මැයි","ජුනි","ජූලි","අගෝස්තු","සැප්තැම්බර්","ඔක්තෝබර්","නොවැම්බර්","දෙසැම්බර්"],monthsShort:["ජන","පෙබ","මාර්","අප්‍රේ","මැයි","ජුනි","ජූලි","අගෝ","සැප්","ඔක්","නොවැ","දෙසැ"],today:"අද",monthsTitle:"මාස",clear:"මකන්න",weekStart:0,format:"yyyy-mm-dd"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js deleted file mode 100644 index 79a9267f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sk.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.sk={days:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],daysShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],daysMin:["Ne","Po","Ut","St","Št","Pia","So"],months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],today:"Dnes",clear:"Vymazať",weekStart:1,format:"d.m.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js deleted file mode 100644 index 831cf739..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sl.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.sl={days:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],daysShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],daysMin:["Ne","Po","To","Sr","Če","Pe","So"],months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danes",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js deleted file mode 100644 index 8c586055..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sq.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.sq={days:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"],daysShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],daysMin:["Di","Hë","Ma","Më","En","Pr","Sht"],months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],monthsShort:["Jan","Shk","Mar","Pri","Maj","Qer","Korr","Gu","Sht","Tet","Nën","Dhjet"],monthsTitle:"Muaj",today:"Sot",weekStart:1,format:"dd/mm/yyyy",clear:"Pastro"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js deleted file mode 100644 index c6b7001a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr-latin.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["sr-latin"]={days:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"],daysShort:["Ned","Pon","Uto","Sre","Čet","Pet","Sub"],daysMin:["N","Po","U","Sr","Č","Pe","Su"],months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],monthsShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],today:"Danas",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js deleted file mode 100644 index 4e46dbf6..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sr.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.sr={days:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],daysShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],daysMin:["Н","По","У","Ср","Ч","Пе","Су"],months:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthsShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],today:"Данас",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js deleted file mode 100644 index 7ab6becb..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sv.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.sv={days:["söndag","måndag","tisdag","onsdag","torsdag","fredag","lördag"],daysShort:["sön","mån","tis","ons","tor","fre","lör"],daysMin:["sö","må","ti","on","to","fr","lö"],months:["januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december"],monthsShort:["jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec"],today:"Idag",format:"yyyy-mm-dd",weekStart:1,clear:"Rensa"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js deleted file mode 100644 index 454d3053..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.sw.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.sw={days:["Jumapili","Jumatatu","Jumanne","Jumatano","Alhamisi","Ijumaa","Jumamosi"],daysShort:["J2","J3","J4","J5","Alh","Ij","J1"],daysMin:["2","3","4","5","A","I","1"],months:["Januari","Februari","Machi","Aprili","Mei","Juni","Julai","Agosti","Septemba","Oktoba","Novemba","Desemba"],monthsShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ago","Sep","Okt","Nov","Des"],today:"Leo"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js deleted file mode 100644 index e7909494..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.ta.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.ta={days:["ஞாயிறு","திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி"],daysShort:["ஞாயி","திங்","செவ்","புத","வியா","வெள்","சனி"],daysMin:["ஞா","தி","செ","பு","வி","வெ","ச"],months:["ஜனவரி","பிப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்டு","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்"],monthsShort:["ஜன","பிப்","மார்","ஏப்","மே","ஜூன்","ஜூலை","ஆக","செப்","அக்","நவ","டிச"],today:"இன்று",monthsTitle:"மாதங்கள்",clear:"நீக்கு",weekStart:1,format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js deleted file mode 100644 index 104b6dd9..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tg.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.tg={days:["Якшанбе","Душанбе","Сешанбе","Чоршанбе","Панҷшанбе","Ҷумъа","Шанбе"],daysShort:["Яшб","Дшб","Сшб","Чшб","Пшб","Ҷум","Шнб"],daysMin:["Яш","Дш","Сш","Чш","Пш","Ҷм","Шб"],months:["Январ","Феврал","Март","Апрел","Май","Июн","Июл","Август","Сентябр","Октябр","Ноябр","Декабр"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Имрӯз",monthsTitle:"Моҳҳо",clear:"Тоза намудан",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js deleted file mode 100644 index 1e398ba8..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.th.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.th={days:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"],daysShort:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],daysMin:["อา","จ","อ","พ","พฤ","ศ","ส","อา"],months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthsShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],today:"วันนี้"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js deleted file mode 100644 index 716edef2..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tk.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.tk={days:["Ýekşenbe","Duşenbe","Sişenbe","Çarşenbe","Penşenbe","Anna","Şenbe"],daysShort:["Ýek","Duş","Siş","Çar","Pen","Ann","Şen"],daysMin:["Ýe","Du","Si","Ça","Pe","An","Şe"],months:["Ýanwar","Fewral","Mart","Aprel","Maý","Iýun","Iýul","Awgust","Sentýabr","Oktýabr","Noýabr","Dekabr"],monthsShort:["Ýan","Few","Mar","Apr","Maý","Iýn","Iýl","Awg","Sen","Okt","Noý","Dek"],today:"Bu gün",monthsTitle:"Aýlar",clear:"Aýyr",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js deleted file mode 100644 index 7889b113..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.tr.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.tr={days:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],daysShort:["Pz","Pzt","Sal","Çrş","Prş","Cu","Cts"],daysMin:["Pz","Pzt","Sa","Çr","Pr","Cu","Ct"],months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthsShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],today:"Bugün",clear:"Temizle",weekStart:1,format:"dd.mm.yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js deleted file mode 100644 index 41b02e6b..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uk.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.uk={days:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"],daysShort:["Нед","Пнд","Втр","Срд","Чтв","Птн","Суб"],daysMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],months:["Cічень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthsShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],today:"Сьогодні",clear:"Очистити",format:"dd.mm.yyyy",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js deleted file mode 100644 index a0a8f213..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-cyrl.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["uz-cyrl"]={days:["Якшанба","Душанба","Сешанба","Чоршанба","Пайшанба","Жума","Шанба"],daysShort:["Якш","Ду","Се","Чор","Пай","Жу","Ша"],daysMin:["Як","Ду","Се","Чо","Па","Жу","Ша"],months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthsShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],today:"Бугун",clear:"Ўчириш",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Ойлар"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js deleted file mode 100644 index 2f58e343..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.uz-latn.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["uz-latn"]={days:["Yakshanba","Dushanba","Seshanba","Chorshanba","Payshanba","Juma","Shanba"],daysShort:["Yak","Du","Se","Chor","Pay","Ju","Sha"],daysMin:["Ya","Du","Se","Cho","Pa","Ju","Sha"],months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avgust","Sentabr","Oktabr","Noyabr","Dekabr"],monthsShort:["Yan","Fev","Mar","Apr","May","Iyn","Iyl","Avg","Sen","Okt","Noy","Dek"],today:"Bugun",clear:"O'chirish",format:"dd.mm.yyyy",weekStart:1,monthsTitle:"Oylar"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js deleted file mode 100644 index 3311d23f..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.vi.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates.vi={days:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"],daysShort:["CN","Thứ 2","Thứ 3","Thứ 4","Thứ 5","Thứ 6","Thứ 7"],daysMin:["CN","T2","T3","T4","T5","T6","T7"],months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],monthsShort:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],today:"Hôm nay",clear:"Xóa",format:"dd/mm/yyyy"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js deleted file mode 100644 index 8e6920b0..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["zh-CN"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["周日","周一","周二","周三","周四","周五","周六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",monthsTitle:"选择月份",clear:"清除",format:"yyyy-mm-dd",titleFormat:"yyyy年mm月",weekStart:1}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js deleted file mode 100644 index e309c1d7..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap-datepicker/locales/bootstrap-datepicker.zh-TW.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(a){a.fn.datepicker.dates["zh-TW"]={days:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],daysShort:["週日","週一","週二","週三","週四","週五","週六"],daysMin:["日","一","二","三","四","五","六"],months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthsShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],today:"今天",format:"yyyy年mm月dd日",weekStart:1,clear:"清除"}}(jQuery); \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css deleted file mode 100644 index 0a5e9b5a..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css +++ /dev/null @@ -1,11453 +0,0 @@ -/*! - * Bootstrap v4.5.2 (https://getbootstrap.com/) - * Copyright 2011-2020 The Bootstrap Authors - * Copyright 2011-2020 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) - */ -:root { - --blue: #007bff; - --indigo: #6610f2; - --purple: #6f42c1; - --pink: #e83e8c; - --red: #dc3545; - --orange: #fd7e14; - --yellow: #ffc107; - --green: #28a745; - --teal: #20c997; - --cyan: #17a2b8; - --white: #fff; - --gray: #6c757d; - --gray-dark: #343a40; - --primary: #007bff; - --secondary: #6c757d; - --success: #28a745; - --info: #17a2b8; - --warning: #ffc107; - --danger: #dc3545; - --light: #f8f9fa; - --dark: #343a40; - --breakpoint-xs: 0; - --breakpoint-sm: 576px; - --breakpoint-md: 768px; - --breakpoint-lg: 992px; - --breakpoint-xl: 1200px; - --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; -} - -*, -*::before, -*::after { - box-sizing: border-box; -} - -html { - font-family: sans-serif; - line-height: 1.15; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); -} - -article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { - display: block; -} - -body { - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #212529; - text-align: left; - background-color: #fff; -} - -[tabindex="-1"]:focus:not(:focus-visible) { - outline: 0 !important; -} - -hr { - box-sizing: content-box; - height: 0; - overflow: visible; -} - -h1, h2, h3, h4, h5, h6 { - margin-top: 0; - margin-bottom: 0.5rem; -} - -p { - margin-top: 0; - margin-bottom: 1rem; -} - -abbr[title], -abbr[data-original-title] { - text-decoration: underline; - -webkit-text-decoration: underline dotted; - text-decoration: underline dotted; - cursor: help; - border-bottom: 0; - -webkit-text-decoration-skip-ink: none; - text-decoration-skip-ink: none; -} - -address { - margin-bottom: 1rem; - font-style: normal; - line-height: inherit; -} - -ol, -ul, -dl { - margin-top: 0; - margin-bottom: 1rem; -} - -ol ol, -ul ul, -ol ul, -ul ol { - margin-bottom: 0; -} - -dt { - font-weight: 700; -} - -dd { - margin-bottom: .5rem; - margin-left: 0; -} - -blockquote { - margin: 0 0 1rem; -} - -b, -strong { - font-weight: bolder; -} - -small { - font-size: 80%; -} - -sub, -sup { - position: relative; - font-size: 75%; - line-height: 0; - vertical-align: baseline; -} - -sub { - bottom: -.25em; -} - -sup { - top: -.5em; -} - -a { - color: #007bff; - text-decoration: none; - background-color: transparent; -} - -a:hover { - color: #0056b3; - text-decoration: underline; -} - -a:not([href]):not([class]) { - color: inherit; - text-decoration: none; -} - -a:not([href]):not([class]):hover { - color: inherit; - text-decoration: none; -} - -pre, -code, -kbd, -samp { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; - font-size: 1em; -} - -pre { - margin-top: 0; - margin-bottom: 1rem; - overflow: auto; - -ms-overflow-style: scrollbar; -} - -figure { - margin: 0 0 1rem; -} - -img { - vertical-align: middle; - border-style: none; -} - -svg { - overflow: hidden; - vertical-align: middle; -} - -table { - border-collapse: collapse; -} - -caption { - padding-top: 0.75rem; - padding-bottom: 0.75rem; - color: #6c757d; - text-align: left; - caption-side: bottom; -} - -th { - text-align: inherit; - text-align: -webkit-match-parent; -} - -label { - display: inline-block; - margin-bottom: 0.5rem; -} - -button { - border-radius: 0; -} - -button:focus:not(:focus-visible) { - outline: 0; -} - -input, -button, -select, -optgroup, -textarea { - margin: 0; - font-family: inherit; - font-size: inherit; - line-height: inherit; -} - -button, -input { - overflow: visible; -} - -button, -select { - text-transform: none; -} - -[role="button"] { - cursor: pointer; -} - -select { - word-wrap: normal; -} - -button, -[type="button"], -[type="reset"], -[type="submit"] { - -webkit-appearance: button; -} - -button:not(:disabled), -[type="button"]:not(:disabled), -[type="reset"]:not(:disabled), -[type="submit"]:not(:disabled) { - cursor: pointer; -} - -button::-moz-focus-inner, -[type="button"]::-moz-focus-inner, -[type="reset"]::-moz-focus-inner, -[type="submit"]::-moz-focus-inner { - padding: 0; - border-style: none; -} - -input[type="radio"], -input[type="checkbox"] { - box-sizing: border-box; - padding: 0; -} - -textarea { - overflow: auto; - resize: vertical; -} - -fieldset { - min-width: 0; - padding: 0; - margin: 0; - border: 0; -} - -legend { - display: block; - width: 100%; - max-width: 100%; - padding: 0; - margin-bottom: .5rem; - font-size: 1.5rem; - line-height: inherit; - color: inherit; - white-space: normal; -} - -progress { - vertical-align: baseline; -} - -[type="number"]::-webkit-inner-spin-button, -[type="number"]::-webkit-outer-spin-button { - height: auto; -} - -[type="search"] { - outline-offset: -2px; - -webkit-appearance: none; -} - -[type="search"]::-webkit-search-decoration { - -webkit-appearance: none; -} - -::-webkit-file-upload-button { - font: inherit; - -webkit-appearance: button; -} - -output { - display: inline-block; -} - -summary { - display: list-item; - cursor: pointer; -} - -template { - display: none; -} - -[hidden] { - display: none !important; -} - -h1, h2, h3, h4, h5, h6, -.h1, .h2, .h3, .h4, .h5, .h6 { - margin-bottom: 0.5rem; - font-weight: 500; - line-height: 1.2; -} - -h1, .h1 { - font-size: 2.5rem; -} - -h2, .h2 { - font-size: 2rem; -} - -h3, .h3 { - font-size: 1.75rem; -} - -h4, .h4 { - font-size: 1.5rem; -} - -h5, .h5 { - font-size: 1.25rem; -} - -h6, .h6 { - font-size: 1rem; -} - -.lead { - font-size: 1.25rem; - font-weight: 300; -} - -.display-1 { - font-size: 6rem; - font-weight: 300; - line-height: 1.2; -} - -.display-2 { - font-size: 5.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-3 { - font-size: 4.5rem; - font-weight: 300; - line-height: 1.2; -} - -.display-4 { - font-size: 3.5rem; - font-weight: 300; - line-height: 1.2; -} - -hr { - margin-top: 1rem; - margin-bottom: 1rem; - border: 0; - border-top: 1px solid rgba(0, 0, 0, 0.1); -} - -small, -.small { - font-size: 80%; - font-weight: 400; -} - -mark, -.mark { - padding: 0.2em; - background-color: #fcf8e3; -} - -.list-unstyled { - padding-left: 0; - list-style: none; -} - -.list-inline { - padding-left: 0; - list-style: none; -} - -.list-inline-item { - display: inline-block; -} - -.list-inline-item:not(:last-child) { - margin-right: 0.5rem; -} - -.initialism { - font-size: 90%; - text-transform: uppercase; -} - -.blockquote { - margin-bottom: 1rem; - font-size: 1.25rem; -} - -.blockquote-footer { - display: block; - font-size: 80%; - color: #6c757d; -} - -.blockquote-footer::before { - content: "\2014\00A0"; -} - -.img-fluid { - max-width: 100%; - height: auto; -} - -.img-thumbnail { - padding: 0.25rem; - background-color: #fff; - border: 1px solid #dee2e6; - border-radius: 0.25rem; - max-width: 100%; - height: auto; -} - -.figure { - display: inline-block; -} - -.figure-img { - margin-bottom: 0.5rem; - line-height: 1; -} - -.figure-caption { - font-size: 90%; - color: #6c757d; -} - -code { - font-size: 87.5%; - color: #e83e8c; - word-wrap: break-word; -} - -a > code { - color: inherit; -} - -kbd { - padding: 0.2rem 0.4rem; - font-size: 87.5%; - color: #fff; - background-color: #212529; - border-radius: 0.2rem; -} - -kbd kbd { - padding: 0; - font-size: 100%; - font-weight: 700; -} - -pre { - display: block; - font-size: 87.5%; - color: #212529; -} - -pre code { - font-size: inherit; - color: inherit; - word-break: normal; -} - -.pre-scrollable { - max-height: 340px; - overflow-y: scroll; -} - -.container, -.container-fluid, -.container-sm, -.container-md, -.container-lg, -.container-xl { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container, .container-sm { - max-width: 540px; - } -} - -@media (min-width: 768px) { - .container, .container-sm, .container-md { - max-width: 720px; - } -} - -@media (min-width: 992px) { - .container, .container-sm, .container-md, .container-lg { - max-width: 960px; - } -} - -@media (min-width: 1200px) { - .container, .container-sm, .container-md, .container-lg, .container-xl { - max-width: 1140px; - } -} - -.row { - display: flex; - flex-wrap: wrap; - margin-right: -15px; - margin-left: -15px; -} - -.no-gutters { - margin-right: 0; - margin-left: 0; -} - -.no-gutters > .col, -.no-gutters > [class*="col-"] { - padding-right: 0; - padding-left: 0; -} - -.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col, -.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm, -.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md, -.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg, -.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl, -.col-xl-auto { - position: relative; - width: 100%; - padding-right: 15px; - padding-left: 15px; -} - -.col { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; -} - -.row-cols-1 > * { - flex: 0 0 100%; - max-width: 100%; -} - -.row-cols-2 > * { - flex: 0 0 50%; - max-width: 50%; -} - -.row-cols-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.row-cols-4 > * { - flex: 0 0 25%; - max-width: 25%; -} - -.row-cols-5 > * { - flex: 0 0 20%; - max-width: 20%; -} - -.row-cols-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; -} - -.col-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; -} - -.col-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; -} - -.col-3 { - flex: 0 0 25%; - max-width: 25%; -} - -.col-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; -} - -.col-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; -} - -.col-6 { - flex: 0 0 50%; - max-width: 50%; -} - -.col-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; -} - -.col-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; -} - -.col-9 { - flex: 0 0 75%; - max-width: 75%; -} - -.col-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; -} - -.col-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; -} - -.col-12 { - flex: 0 0 100%; - max-width: 100%; -} - -.order-first { - order: -1; -} - -.order-last { - order: 13; -} - -.order-0 { - order: 0; -} - -.order-1 { - order: 1; -} - -.order-2 { - order: 2; -} - -.order-3 { - order: 3; -} - -.order-4 { - order: 4; -} - -.order-5 { - order: 5; -} - -.order-6 { - order: 6; -} - -.order-7 { - order: 7; -} - -.order-8 { - order: 8; -} - -.order-9 { - order: 9; -} - -.order-10 { - order: 10; -} - -.order-11 { - order: 11; -} - -.order-12 { - order: 12; -} - -.offset-1 { - margin-left: 8.333333%; -} - -.offset-2 { - margin-left: 16.666667%; -} - -.offset-3 { - margin-left: 25%; -} - -.offset-4 { - margin-left: 33.333333%; -} - -.offset-5 { - margin-left: 41.666667%; -} - -.offset-6 { - margin-left: 50%; -} - -.offset-7 { - margin-left: 58.333333%; -} - -.offset-8 { - margin-left: 66.666667%; -} - -.offset-9 { - margin-left: 75%; -} - -.offset-10 { - margin-left: 83.333333%; -} - -.offset-11 { - margin-left: 91.666667%; -} - -@media (min-width: 576px) { - .col-sm { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .row-cols-sm-1 > * { - flex: 0 0 100%; - max-width: 100%; - } - .row-cols-sm-2 > * { - flex: 0 0 50%; - max-width: 50%; - } - .row-cols-sm-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .row-cols-sm-4 > * { - flex: 0 0 25%; - max-width: 25%; - } - .row-cols-sm-5 > * { - flex: 0 0 20%; - max-width: 20%; - } - .row-cols-sm-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-sm-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-sm-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-sm-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-sm-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-sm-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-sm-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-sm-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-sm-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-sm-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-sm-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-sm-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-sm-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-sm-first { - order: -1; - } - .order-sm-last { - order: 13; - } - .order-sm-0 { - order: 0; - } - .order-sm-1 { - order: 1; - } - .order-sm-2 { - order: 2; - } - .order-sm-3 { - order: 3; - } - .order-sm-4 { - order: 4; - } - .order-sm-5 { - order: 5; - } - .order-sm-6 { - order: 6; - } - .order-sm-7 { - order: 7; - } - .order-sm-8 { - order: 8; - } - .order-sm-9 { - order: 9; - } - .order-sm-10 { - order: 10; - } - .order-sm-11 { - order: 11; - } - .order-sm-12 { - order: 12; - } - .offset-sm-0 { - margin-left: 0; - } - .offset-sm-1 { - margin-left: 8.333333%; - } - .offset-sm-2 { - margin-left: 16.666667%; - } - .offset-sm-3 { - margin-left: 25%; - } - .offset-sm-4 { - margin-left: 33.333333%; - } - .offset-sm-5 { - margin-left: 41.666667%; - } - .offset-sm-6 { - margin-left: 50%; - } - .offset-sm-7 { - margin-left: 58.333333%; - } - .offset-sm-8 { - margin-left: 66.666667%; - } - .offset-sm-9 { - margin-left: 75%; - } - .offset-sm-10 { - margin-left: 83.333333%; - } - .offset-sm-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 768px) { - .col-md { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .row-cols-md-1 > * { - flex: 0 0 100%; - max-width: 100%; - } - .row-cols-md-2 > * { - flex: 0 0 50%; - max-width: 50%; - } - .row-cols-md-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .row-cols-md-4 > * { - flex: 0 0 25%; - max-width: 25%; - } - .row-cols-md-5 > * { - flex: 0 0 20%; - max-width: 20%; - } - .row-cols-md-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-md-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-md-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-md-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-md-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-md-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-md-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-md-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-md-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-md-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-md-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-md-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-md-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-md-first { - order: -1; - } - .order-md-last { - order: 13; - } - .order-md-0 { - order: 0; - } - .order-md-1 { - order: 1; - } - .order-md-2 { - order: 2; - } - .order-md-3 { - order: 3; - } - .order-md-4 { - order: 4; - } - .order-md-5 { - order: 5; - } - .order-md-6 { - order: 6; - } - .order-md-7 { - order: 7; - } - .order-md-8 { - order: 8; - } - .order-md-9 { - order: 9; - } - .order-md-10 { - order: 10; - } - .order-md-11 { - order: 11; - } - .order-md-12 { - order: 12; - } - .offset-md-0 { - margin-left: 0; - } - .offset-md-1 { - margin-left: 8.333333%; - } - .offset-md-2 { - margin-left: 16.666667%; - } - .offset-md-3 { - margin-left: 25%; - } - .offset-md-4 { - margin-left: 33.333333%; - } - .offset-md-5 { - margin-left: 41.666667%; - } - .offset-md-6 { - margin-left: 50%; - } - .offset-md-7 { - margin-left: 58.333333%; - } - .offset-md-8 { - margin-left: 66.666667%; - } - .offset-md-9 { - margin-left: 75%; - } - .offset-md-10 { - margin-left: 83.333333%; - } - .offset-md-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 992px) { - .col-lg { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .row-cols-lg-1 > * { - flex: 0 0 100%; - max-width: 100%; - } - .row-cols-lg-2 > * { - flex: 0 0 50%; - max-width: 50%; - } - .row-cols-lg-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .row-cols-lg-4 > * { - flex: 0 0 25%; - max-width: 25%; - } - .row-cols-lg-5 > * { - flex: 0 0 20%; - max-width: 20%; - } - .row-cols-lg-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-lg-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-lg-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-lg-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-lg-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-lg-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-lg-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-lg-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-lg-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-lg-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-lg-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-lg-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-lg-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-lg-first { - order: -1; - } - .order-lg-last { - order: 13; - } - .order-lg-0 { - order: 0; - } - .order-lg-1 { - order: 1; - } - .order-lg-2 { - order: 2; - } - .order-lg-3 { - order: 3; - } - .order-lg-4 { - order: 4; - } - .order-lg-5 { - order: 5; - } - .order-lg-6 { - order: 6; - } - .order-lg-7 { - order: 7; - } - .order-lg-8 { - order: 8; - } - .order-lg-9 { - order: 9; - } - .order-lg-10 { - order: 10; - } - .order-lg-11 { - order: 11; - } - .order-lg-12 { - order: 12; - } - .offset-lg-0 { - margin-left: 0; - } - .offset-lg-1 { - margin-left: 8.333333%; - } - .offset-lg-2 { - margin-left: 16.666667%; - } - .offset-lg-3 { - margin-left: 25%; - } - .offset-lg-4 { - margin-left: 33.333333%; - } - .offset-lg-5 { - margin-left: 41.666667%; - } - .offset-lg-6 { - margin-left: 50%; - } - .offset-lg-7 { - margin-left: 58.333333%; - } - .offset-lg-8 { - margin-left: 66.666667%; - } - .offset-lg-9 { - margin-left: 75%; - } - .offset-lg-10 { - margin-left: 83.333333%; - } - .offset-lg-11 { - margin-left: 91.666667%; - } -} - -@media (min-width: 1200px) { - .col-xl { - flex-basis: 0; - flex-grow: 1; - max-width: 100%; - } - .row-cols-xl-1 > * { - flex: 0 0 100%; - max-width: 100%; - } - .row-cols-xl-2 > * { - flex: 0 0 50%; - max-width: 50%; - } - .row-cols-xl-3 > * { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .row-cols-xl-4 > * { - flex: 0 0 25%; - max-width: 25%; - } - .row-cols-xl-5 > * { - flex: 0 0 20%; - max-width: 20%; - } - .row-cols-xl-6 > * { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-auto { - flex: 0 0 auto; - width: auto; - max-width: 100%; - } - .col-xl-1 { - flex: 0 0 8.333333%; - max-width: 8.333333%; - } - .col-xl-2 { - flex: 0 0 16.666667%; - max-width: 16.666667%; - } - .col-xl-3 { - flex: 0 0 25%; - max-width: 25%; - } - .col-xl-4 { - flex: 0 0 33.333333%; - max-width: 33.333333%; - } - .col-xl-5 { - flex: 0 0 41.666667%; - max-width: 41.666667%; - } - .col-xl-6 { - flex: 0 0 50%; - max-width: 50%; - } - .col-xl-7 { - flex: 0 0 58.333333%; - max-width: 58.333333%; - } - .col-xl-8 { - flex: 0 0 66.666667%; - max-width: 66.666667%; - } - .col-xl-9 { - flex: 0 0 75%; - max-width: 75%; - } - .col-xl-10 { - flex: 0 0 83.333333%; - max-width: 83.333333%; - } - .col-xl-11 { - flex: 0 0 91.666667%; - max-width: 91.666667%; - } - .col-xl-12 { - flex: 0 0 100%; - max-width: 100%; - } - .order-xl-first { - order: -1; - } - .order-xl-last { - order: 13; - } - .order-xl-0 { - order: 0; - } - .order-xl-1 { - order: 1; - } - .order-xl-2 { - order: 2; - } - .order-xl-3 { - order: 3; - } - .order-xl-4 { - order: 4; - } - .order-xl-5 { - order: 5; - } - .order-xl-6 { - order: 6; - } - .order-xl-7 { - order: 7; - } - .order-xl-8 { - order: 8; - } - .order-xl-9 { - order: 9; - } - .order-xl-10 { - order: 10; - } - .order-xl-11 { - order: 11; - } - .order-xl-12 { - order: 12; - } - .offset-xl-0 { - margin-left: 0; - } - .offset-xl-1 { - margin-left: 8.333333%; - } - .offset-xl-2 { - margin-left: 16.666667%; - } - .offset-xl-3 { - margin-left: 25%; - } - .offset-xl-4 { - margin-left: 33.333333%; - } - .offset-xl-5 { - margin-left: 41.666667%; - } - .offset-xl-6 { - margin-left: 50%; - } - .offset-xl-7 { - margin-left: 58.333333%; - } - .offset-xl-8 { - margin-left: 66.666667%; - } - .offset-xl-9 { - margin-left: 75%; - } - .offset-xl-10 { - margin-left: 83.333333%; - } - .offset-xl-11 { - margin-left: 91.666667%; - } -} - -.table { - width: 100%; - margin-bottom: 1rem; - color: #212529; -} - -.table th, -.table td { - padding: 0.75rem; - vertical-align: top; - border-top: 1px solid #dee2e6; -} - -.table thead th { - vertical-align: bottom; - border-bottom: 2px solid #dee2e6; -} - -.table tbody + tbody { - border-top: 2px solid #dee2e6; -} - -.table-sm th, -.table-sm td { - padding: 0.3rem; -} - -.table-bordered { - border: 1px solid #dee2e6; -} - -.table-bordered th, -.table-bordered td { - border: 1px solid #dee2e6; -} - -.table-bordered thead th, -.table-bordered thead td { - border-bottom-width: 2px; -} - -.table-borderless th, -.table-borderless td, -.table-borderless thead th, -.table-borderless tbody + tbody { - border: 0; -} - -.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(0, 0, 0, 0.05); -} - -.table-hover tbody tr:hover { - color: #212529; - background-color: rgba(0, 0, 0, 0.075); -} - -.table-primary, -.table-primary > th, -.table-primary > td { - background-color: #b8daff; -} - -.table-primary th, -.table-primary td, -.table-primary thead th, -.table-primary tbody + tbody { - border-color: #7abaff; -} - -.table-hover .table-primary:hover { - background-color: #9fcdff; -} - -.table-hover .table-primary:hover > td, -.table-hover .table-primary:hover > th { - background-color: #9fcdff; -} - -.table-secondary, -.table-secondary > th, -.table-secondary > td { - background-color: #d6d8db; -} - -.table-secondary th, -.table-secondary td, -.table-secondary thead th, -.table-secondary tbody + tbody { - border-color: #b3b7bb; -} - -.table-hover .table-secondary:hover { - background-color: #c8cbcf; -} - -.table-hover .table-secondary:hover > td, -.table-hover .table-secondary:hover > th { - background-color: #c8cbcf; -} - -.table-success, -.table-success > th, -.table-success > td { - background-color: #c3e6cb; -} - -.table-success th, -.table-success td, -.table-success thead th, -.table-success tbody + tbody { - border-color: #8fd19e; -} - -.table-hover .table-success:hover { - background-color: #b1dfbb; -} - -.table-hover .table-success:hover > td, -.table-hover .table-success:hover > th { - background-color: #b1dfbb; -} - -.table-info, -.table-info > th, -.table-info > td { - background-color: #bee5eb; -} - -.table-info th, -.table-info td, -.table-info thead th, -.table-info tbody + tbody { - border-color: #86cfda; -} - -.table-hover .table-info:hover { - background-color: #abdde5; -} - -.table-hover .table-info:hover > td, -.table-hover .table-info:hover > th { - background-color: #abdde5; -} - -.table-warning, -.table-warning > th, -.table-warning > td { - background-color: #ffeeba; -} - -.table-warning th, -.table-warning td, -.table-warning thead th, -.table-warning tbody + tbody { - border-color: #ffdf7e; -} - -.table-hover .table-warning:hover { - background-color: #ffe8a1; -} - -.table-hover .table-warning:hover > td, -.table-hover .table-warning:hover > th { - background-color: #ffe8a1; -} - -.table-danger, -.table-danger > th, -.table-danger > td { - background-color: #f5c6cb; -} - -.table-danger th, -.table-danger td, -.table-danger thead th, -.table-danger tbody + tbody { - border-color: #ed969e; -} - -.table-hover .table-danger:hover { - background-color: #f1b0b7; -} - -.table-hover .table-danger:hover > td, -.table-hover .table-danger:hover > th { - background-color: #f1b0b7; -} - -.table-light, -.table-light > th, -.table-light > td { - background-color: #fdfdfe; -} - -.table-light th, -.table-light td, -.table-light thead th, -.table-light tbody + tbody { - border-color: #fbfcfc; -} - -.table-hover .table-light:hover { - background-color: #ececf6; -} - -.table-hover .table-light:hover > td, -.table-hover .table-light:hover > th { - background-color: #ececf6; -} - -.table-dark, -.table-dark > th, -.table-dark > td { - background-color: #c6c8ca; -} - -.table-dark th, -.table-dark td, -.table-dark thead th, -.table-dark tbody + tbody { - border-color: #95999c; -} - -.table-hover .table-dark:hover { - background-color: #b9bbbe; -} - -.table-hover .table-dark:hover > td, -.table-hover .table-dark:hover > th { - background-color: #b9bbbe; -} - -.table-active, -.table-active > th, -.table-active > td { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover { - background-color: rgba(0, 0, 0, 0.075); -} - -.table-hover .table-active:hover > td, -.table-hover .table-active:hover > th { - background-color: rgba(0, 0, 0, 0.075); -} - -.table .thead-dark th { - color: #fff; - background-color: #343a40; - border-color: #454d55; -} - -.table .thead-light th { - color: #495057; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.table-dark { - color: #fff; - background-color: #343a40; -} - -.table-dark th, -.table-dark td, -.table-dark thead th { - border-color: #454d55; -} - -.table-dark.table-bordered { - border: 0; -} - -.table-dark.table-striped tbody tr:nth-of-type(odd) { - background-color: rgba(255, 255, 255, 0.05); -} - -.table-dark.table-hover tbody tr:hover { - color: #fff; - background-color: rgba(255, 255, 255, 0.075); -} - -@media (max-width: 575.98px) { - .table-responsive-sm { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-sm > .table-bordered { - border: 0; - } -} - -@media (max-width: 767.98px) { - .table-responsive-md { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-md > .table-bordered { - border: 0; - } -} - -@media (max-width: 991.98px) { - .table-responsive-lg { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-lg > .table-bordered { - border: 0; - } -} - -@media (max-width: 1199.98px) { - .table-responsive-xl { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; - } - .table-responsive-xl > .table-bordered { - border: 0; - } -} - -.table-responsive { - display: block; - width: 100%; - overflow-x: auto; - -webkit-overflow-scrolling: touch; -} - -.table-responsive > .table-bordered { - border: 0; -} - -.form-control { - display: block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fff; - background-clip: padding-box; - border: 1px solid #ced4da; - border-radius: 0.25rem; - transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .form-control { - transition: none; - } -} - -.form-control::-ms-expand { - background-color: transparent; - border: 0; -} - -.form-control:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 #495057; -} - -.form-control:focus { - color: #495057; - background-color: #fff; - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.form-control::-moz-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control:-ms-input-placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control::placeholder { - color: #6c757d; - opacity: 1; -} - -.form-control:disabled, .form-control[readonly] { - background-color: #e9ecef; - opacity: 1; -} - -input[type="date"].form-control, -input[type="time"].form-control, -input[type="datetime-local"].form-control, -input[type="month"].form-control { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -select.form-control:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.form-control-file, -.form-control-range { - display: block; - width: 100%; -} - -.col-form-label { - padding-top: calc(0.375rem + 1px); - padding-bottom: calc(0.375rem + 1px); - margin-bottom: 0; - font-size: inherit; - line-height: 1.5; -} - -.col-form-label-lg { - padding-top: calc(0.5rem + 1px); - padding-bottom: calc(0.5rem + 1px); - font-size: 1.25rem; - line-height: 1.5; -} - -.col-form-label-sm { - padding-top: calc(0.25rem + 1px); - padding-bottom: calc(0.25rem + 1px); - font-size: 0.875rem; - line-height: 1.5; -} - -.form-control-plaintext { - display: block; - width: 100%; - padding: 0.375rem 0; - margin-bottom: 0; - font-size: 1rem; - line-height: 1.5; - color: #212529; - background-color: transparent; - border: solid transparent; - border-width: 1px 0; -} - -.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { - padding-right: 0; - padding-left: 0; -} - -.form-control-sm { - height: calc(1.5em + 0.5rem + 2px); - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.form-control-lg { - height: calc(1.5em + 1rem + 2px); - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -select.form-control[size], select.form-control[multiple] { - height: auto; -} - -textarea.form-control { - height: auto; -} - -.form-group { - margin-bottom: 1rem; -} - -.form-text { - display: block; - margin-top: 0.25rem; -} - -.form-row { - display: flex; - flex-wrap: wrap; - margin-right: -5px; - margin-left: -5px; -} - -.form-row > .col, -.form-row > [class*="col-"] { - padding-right: 5px; - padding-left: 5px; -} - -.form-check { - position: relative; - display: block; - padding-left: 1.25rem; -} - -.form-check-input { - position: absolute; - margin-top: 0.3rem; - margin-left: -1.25rem; -} - -.form-check-input[disabled] ~ .form-check-label, -.form-check-input:disabled ~ .form-check-label { - color: #6c757d; -} - -.form-check-label { - margin-bottom: 0; -} - -.form-check-inline { - display: inline-flex; - align-items: center; - padding-left: 0; - margin-right: 0.75rem; -} - -.form-check-inline .form-check-input { - position: static; - margin-top: 0; - margin-right: 0.3125rem; - margin-left: 0; -} - -.valid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #28a745; -} - -.valid-tooltip { - position: absolute; - top: 100%; - left: 0; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(40, 167, 69, 0.9); - border-radius: 0.25rem; -} - -.form-row > .col > .valid-tooltip, -.form-row > [class*="col-"] > .valid-tooltip { - left: 5px; -} - -.was-validated :valid ~ .valid-feedback, -.was-validated :valid ~ .valid-tooltip, -.is-valid ~ .valid-feedback, -.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .form-control:valid, .form-control.is-valid { - border-color: #28a745; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} - -.was-validated .form-control:valid:focus, .form-control.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated textarea.form-control:valid, textarea.form-control.is-valid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); -} - -.was-validated .custom-select:valid, .custom-select.is-valid { - border-color: #28a745; - padding-right: calc(0.75em + 2.3125rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; -} - -.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { - color: #28a745; -} - -.was-validated .form-check-input:valid ~ .valid-feedback, -.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, -.form-check-input.is-valid ~ .valid-tooltip { - display: block; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { - color: #28a745; -} - -.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { - border-color: #28a745; -} - -.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { - border-color: #34ce57; - background-color: #34ce57; -} - -.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #28a745; -} - -.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { - border-color: #28a745; -} - -.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { - border-color: #28a745; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); -} - -.invalid-feedback { - display: none; - width: 100%; - margin-top: 0.25rem; - font-size: 80%; - color: #dc3545; -} - -.invalid-tooltip { - position: absolute; - top: 100%; - left: 0; - z-index: 5; - display: none; - max-width: 100%; - padding: 0.25rem 0.5rem; - margin-top: .1rem; - font-size: 0.875rem; - line-height: 1.5; - color: #fff; - background-color: rgba(220, 53, 69, 0.9); - border-radius: 0.25rem; -} - -.form-row > .col > .invalid-tooltip, -.form-row > [class*="col-"] > .invalid-tooltip { - left: 5px; -} - -.was-validated :invalid ~ .invalid-feedback, -.was-validated :invalid ~ .invalid-tooltip, -.is-invalid ~ .invalid-feedback, -.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .form-control:invalid, .form-control.is-invalid { - border-color: #dc3545; - padding-right: calc(1.5em + 0.75rem); - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e"); - background-repeat: no-repeat; - background-position: right calc(0.375em + 0.1875rem) center; - background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem); -} - -.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { - padding-right: calc(1.5em + 0.75rem); - background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem); -} - -.was-validated .custom-select:invalid, .custom-select.is-invalid { - border-color: #dc3545; - padding-right: calc(0.75em + 2.3125rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat; -} - -.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { - color: #dc3545; -} - -.was-validated .form-check-input:invalid ~ .invalid-feedback, -.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, -.form-check-input.is-invalid ~ .invalid-tooltip { - display: block; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { - color: #dc3545; -} - -.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { - border-color: #dc3545; -} - -.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { - border-color: #e4606d; - background-color: #e4606d; -} - -.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { - border-color: #dc3545; -} - -.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { - border-color: #dc3545; -} - -.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { - border-color: #dc3545; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); -} - -.form-inline { - display: flex; - flex-flow: row wrap; - align-items: center; -} - -.form-inline .form-check { - width: 100%; -} - -@media (min-width: 576px) { - .form-inline label { - display: flex; - align-items: center; - justify-content: center; - margin-bottom: 0; - } - .form-inline .form-group { - display: flex; - flex: 0 0 auto; - flex-flow: row wrap; - align-items: center; - margin-bottom: 0; - } - .form-inline .form-control { - display: inline-block; - width: auto; - vertical-align: middle; - } - .form-inline .form-control-plaintext { - display: inline-block; - } - .form-inline .input-group, - .form-inline .custom-select { - width: auto; - } - .form-inline .form-check { - display: flex; - align-items: center; - justify-content: center; - width: auto; - padding-left: 0; - } - .form-inline .form-check-input { - position: relative; - flex-shrink: 0; - margin-top: 0; - margin-right: 0.25rem; - margin-left: 0; - } - .form-inline .custom-control { - align-items: center; - justify-content: center; - } - .form-inline .custom-control-label { - margin-bottom: 0; - } -} - -.btn { - display: inline-block; - font-weight: 400; - color: #212529; - text-align: center; - vertical-align: middle; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: transparent; - border: 1px solid transparent; - padding: 0.375rem 0.75rem; - font-size: 1rem; - line-height: 1.5; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .btn { - transition: none; - } -} - -.btn:hover { - color: #212529; - text-decoration: none; -} - -.btn:focus, .btn.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.btn.disabled, .btn:disabled { - opacity: 0.65; -} - -.btn:not(:disabled):not(.disabled) { - cursor: pointer; -} - -a.btn.disabled, -fieldset:disabled a.btn { - pointer-events: none; -} - -.btn-primary { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:hover { - color: #fff; - background-color: #0069d9; - border-color: #0062cc; -} - -.btn-primary:focus, .btn-primary.focus { - color: #fff; - background-color: #0069d9; - border-color: #0062cc; - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); -} - -.btn-primary.disabled, .btn-primary:disabled { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, -.show > .btn-primary.dropdown-toggle { - color: #fff; - background-color: #0062cc; - border-color: #005cbf; -} - -.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5); -} - -.btn-secondary { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:hover { - color: #fff; - background-color: #5a6268; - border-color: #545b62; -} - -.btn-secondary:focus, .btn-secondary.focus { - color: #fff; - background-color: #5a6268; - border-color: #545b62; - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); -} - -.btn-secondary.disabled, .btn-secondary:disabled { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, -.show > .btn-secondary.dropdown-toggle { - color: #fff; - background-color: #545b62; - border-color: #4e555b; -} - -.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); -} - -.btn-success { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:hover { - color: #fff; - background-color: #218838; - border-color: #1e7e34; -} - -.btn-success:focus, .btn-success.focus { - color: #fff; - background-color: #218838; - border-color: #1e7e34; - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); -} - -.btn-success.disabled, .btn-success:disabled { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, -.show > .btn-success.dropdown-toggle { - color: #fff; - background-color: #1e7e34; - border-color: #1c7430; -} - -.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5); -} - -.btn-info { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:hover { - color: #fff; - background-color: #138496; - border-color: #117a8b; -} - -.btn-info:focus, .btn-info.focus { - color: #fff; - background-color: #138496; - border-color: #117a8b; - box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); -} - -.btn-info.disabled, .btn-info:disabled { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, -.show > .btn-info.dropdown-toggle { - color: #fff; - background-color: #117a8b; - border-color: #10707f; -} - -.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5); -} - -.btn-warning { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:hover { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; -} - -.btn-warning:focus, .btn-warning.focus { - color: #212529; - background-color: #e0a800; - border-color: #d39e00; - box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); -} - -.btn-warning.disabled, .btn-warning:disabled { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, -.show > .btn-warning.dropdown-toggle { - color: #212529; - background-color: #d39e00; - border-color: #c69500; -} - -.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5); -} - -.btn-danger { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:hover { - color: #fff; - background-color: #c82333; - border-color: #bd2130; -} - -.btn-danger:focus, .btn-danger.focus { - color: #fff; - background-color: #c82333; - border-color: #bd2130; - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); -} - -.btn-danger.disabled, .btn-danger:disabled { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, -.show > .btn-danger.dropdown-toggle { - color: #fff; - background-color: #bd2130; - border-color: #b21f2d; -} - -.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5); -} - -.btn-light { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-light:hover { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; -} - -.btn-light:focus, .btn-light.focus { - color: #212529; - background-color: #e2e6ea; - border-color: #dae0e5; - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); -} - -.btn-light.disabled, .btn-light:disabled { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, -.show > .btn-light.dropdown-toggle { - color: #212529; - background-color: #dae0e5; - border-color: #d3d9df; -} - -.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); -} - -.btn-dark { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-dark:hover { - color: #fff; - background-color: #23272b; - border-color: #1d2124; -} - -.btn-dark:focus, .btn-dark.focus { - color: #fff; - background-color: #23272b; - border-color: #1d2124; - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); -} - -.btn-dark.disabled, .btn-dark:disabled { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, -.show > .btn-dark.dropdown-toggle { - color: #fff; - background-color: #1d2124; - border-color: #171a1d; -} - -.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); -} - -.btn-outline-primary { - color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:hover { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:focus, .btn-outline-primary.focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-primary.disabled, .btn-outline-primary:disabled { - color: #007bff; - background-color: transparent; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, -.show > .btn-outline-primary.dropdown-toggle { - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-primary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.btn-outline-secondary { - color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:hover { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:focus, .btn-outline-secondary.focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { - color: #6c757d; - background-color: transparent; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, -.show > .btn-outline-secondary.dropdown-toggle { - color: #fff; - background-color: #6c757d; - border-color: #6c757d; -} - -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-secondary.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.btn-outline-success { - color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:hover { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:focus, .btn-outline-success.focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-success.disabled, .btn-outline-success:disabled { - color: #28a745; - background-color: transparent; -} - -.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, -.show > .btn-outline-success.dropdown-toggle { - color: #fff; - background-color: #28a745; - border-color: #28a745; -} - -.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-success.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.btn-outline-info { - color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:hover { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:focus, .btn-outline-info.focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-info.disabled, .btn-outline-info:disabled { - color: #17a2b8; - background-color: transparent; -} - -.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, -.show > .btn-outline-info.dropdown-toggle { - color: #fff; - background-color: #17a2b8; - border-color: #17a2b8; -} - -.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-info.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.btn-outline-warning { - color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:hover { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:focus, .btn-outline-warning.focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-warning.disabled, .btn-outline-warning:disabled { - color: #ffc107; - background-color: transparent; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, -.show > .btn-outline-warning.dropdown-toggle { - color: #212529; - background-color: #ffc107; - border-color: #ffc107; -} - -.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-warning.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.btn-outline-danger { - color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:hover { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:focus, .btn-outline-danger.focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-danger.disabled, .btn-outline-danger:disabled { - color: #dc3545; - background-color: transparent; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, -.show > .btn-outline-danger.dropdown-toggle { - color: #fff; - background-color: #dc3545; - border-color: #dc3545; -} - -.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-danger.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.btn-outline-light { - color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:hover { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:focus, .btn-outline-light.focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-light.disabled, .btn-outline-light:disabled { - color: #f8f9fa; - background-color: transparent; -} - -.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, -.show > .btn-outline-light.dropdown-toggle { - color: #212529; - background-color: #f8f9fa; - border-color: #f8f9fa; -} - -.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-light.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.btn-outline-dark { - color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:hover { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:focus, .btn-outline-dark.focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-outline-dark.disabled, .btn-outline-dark:disabled { - color: #343a40; - background-color: transparent; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, -.show > .btn-outline-dark.dropdown-toggle { - color: #fff; - background-color: #343a40; - border-color: #343a40; -} - -.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-dark.dropdown-toggle:focus { - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.btn-link { - font-weight: 400; - color: #007bff; - text-decoration: none; -} - -.btn-link:hover { - color: #0056b3; - text-decoration: underline; -} - -.btn-link:focus, .btn-link.focus { - text-decoration: underline; -} - -.btn-link:disabled, .btn-link.disabled { - color: #6c757d; - pointer-events: none; -} - -.btn-lg, .btn-group-lg > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.btn-sm, .btn-group-sm > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.btn-block { - display: block; - width: 100%; -} - -.btn-block + .btn-block { - margin-top: 0.5rem; -} - -input[type="submit"].btn-block, -input[type="reset"].btn-block, -input[type="button"].btn-block { - width: 100%; -} - -.fade { - transition: opacity 0.15s linear; -} - -@media (prefers-reduced-motion: reduce) { - .fade { - transition: none; - } -} - -.fade:not(.show) { - opacity: 0; -} - -.collapse:not(.show) { - display: none; -} - -.collapsing { - position: relative; - height: 0; - overflow: hidden; - transition: height 0.35s ease; -} - -@media (prefers-reduced-motion: reduce) { - .collapsing { - transition: none; - } -} - -.dropup, -.dropright, -.dropdown, -.dropleft { - position: relative; -} - -.dropdown-toggle { - white-space: nowrap; -} - -.dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid; - border-right: 0.3em solid transparent; - border-bottom: 0; - border-left: 0.3em solid transparent; -} - -.dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropdown-menu { - position: absolute; - top: 100%; - left: 0; - z-index: 1000; - display: none; - float: left; - min-width: 10rem; - padding: 0.5rem 0; - margin: 0.125rem 0 0; - font-size: 1rem; - color: #212529; - text-align: left; - list-style: none; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.15); - border-radius: 0.25rem; -} - -.dropdown-menu-left { - right: auto; - left: 0; -} - -.dropdown-menu-right { - right: 0; - left: auto; -} - -@media (min-width: 576px) { - .dropdown-menu-sm-left { - right: auto; - left: 0; - } - .dropdown-menu-sm-right { - right: 0; - left: auto; - } -} - -@media (min-width: 768px) { - .dropdown-menu-md-left { - right: auto; - left: 0; - } - .dropdown-menu-md-right { - right: 0; - left: auto; - } -} - -@media (min-width: 992px) { - .dropdown-menu-lg-left { - right: auto; - left: 0; - } - .dropdown-menu-lg-right { - right: 0; - left: auto; - } -} - -@media (min-width: 1200px) { - .dropdown-menu-xl-left { - right: auto; - left: 0; - } - .dropdown-menu-xl-right { - right: 0; - left: auto; - } -} - -.dropup .dropdown-menu { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: 0.125rem; -} - -.dropup .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0; - border-right: 0.3em solid transparent; - border-bottom: 0.3em solid; - border-left: 0.3em solid transparent; -} - -.dropup .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-menu { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: 0.125rem; -} - -.dropright .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0; - border-bottom: 0.3em solid transparent; - border-left: 0.3em solid; -} - -.dropright .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropright .dropdown-toggle::after { - vertical-align: 0; -} - -.dropleft .dropdown-menu { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: 0.125rem; -} - -.dropleft .dropdown-toggle::after { - display: inline-block; - margin-left: 0.255em; - vertical-align: 0.255em; - content: ""; -} - -.dropleft .dropdown-toggle::after { - display: none; -} - -.dropleft .dropdown-toggle::before { - display: inline-block; - margin-right: 0.255em; - vertical-align: 0.255em; - content: ""; - border-top: 0.3em solid transparent; - border-right: 0.3em solid; - border-bottom: 0.3em solid transparent; -} - -.dropleft .dropdown-toggle:empty::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle::before { - vertical-align: 0; -} - -.dropdown-menu[x-placement^="top"], .dropdown-menu[x-placement^="right"], .dropdown-menu[x-placement^="bottom"], .dropdown-menu[x-placement^="left"] { - right: auto; - bottom: auto; -} - -.dropdown-divider { - height: 0; - margin: 0.5rem 0; - overflow: hidden; - border-top: 1px solid #e9ecef; -} - -.dropdown-item { - display: block; - width: 100%; - padding: 0.25rem 1.5rem; - clear: both; - font-weight: 400; - color: #212529; - text-align: inherit; - white-space: nowrap; - background-color: transparent; - border: 0; -} - -.dropdown-item:hover, .dropdown-item:focus { - color: #16181b; - text-decoration: none; - background-color: #e9ecef; -} - -.dropdown-item.active, .dropdown-item:active { - color: #fff; - text-decoration: none; - background-color: #007bff; -} - -.dropdown-item.disabled, .dropdown-item:disabled { - color: #adb5bd; - pointer-events: none; - background-color: transparent; -} - -.dropdown-menu.show { - display: block; -} - -.dropdown-header { - display: block; - padding: 0.5rem 1.5rem; - margin-bottom: 0; - font-size: 0.875rem; - color: #6c757d; - white-space: nowrap; -} - -.dropdown-item-text { - display: block; - padding: 0.25rem 1.5rem; - color: #212529; -} - -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; -} - -.btn-group > .btn, -.btn-group-vertical > .btn { - position: relative; - flex: 1 1 auto; -} - -.btn-group > .btn:hover, -.btn-group-vertical > .btn:hover { - z-index: 1; -} - -.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, -.btn-group-vertical > .btn:focus, -.btn-group-vertical > .btn:active, -.btn-group-vertical > .btn.active { - z-index: 1; -} - -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; -} - -.btn-toolbar .input-group { - width: auto; -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) { - margin-left: -1px; -} - -.btn-group > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group > .btn-group:not(:last-child) > .btn { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.btn-group > .btn:not(:first-child), -.btn-group > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.dropdown-toggle-split { - padding-right: 0.5625rem; - padding-left: 0.5625rem; -} - -.dropdown-toggle-split::after, -.dropup .dropdown-toggle-split::after, -.dropright .dropdown-toggle-split::after { - margin-left: 0; -} - -.dropleft .dropdown-toggle-split::before { - margin-right: 0; -} - -.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { - padding-right: 0.375rem; - padding-left: 0.375rem; -} - -.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { - padding-right: 0.75rem; - padding-left: 0.75rem; -} - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; -} - -.btn-group-vertical > .btn, -.btn-group-vertical > .btn-group { - width: 100%; -} - -.btn-group-vertical > .btn:not(:first-child), -.btn-group-vertical > .btn-group:not(:first-child) { - margin-top: -1px; -} - -.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), -.btn-group-vertical > .btn-group:not(:last-child) > .btn { - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.btn-group-vertical > .btn:not(:first-child), -.btn-group-vertical > .btn-group:not(:first-child) > .btn { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.btn-group-toggle > .btn, -.btn-group-toggle > .btn-group > .btn { - margin-bottom: 0; -} - -.btn-group-toggle > .btn input[type="radio"], -.btn-group-toggle > .btn input[type="checkbox"], -.btn-group-toggle > .btn-group > .btn input[type="radio"], -.btn-group-toggle > .btn-group > .btn input[type="checkbox"] { - position: absolute; - clip: rect(0, 0, 0, 0); - pointer-events: none; -} - -.input-group { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: stretch; - width: 100%; -} - -.input-group > .form-control, -.input-group > .form-control-plaintext, -.input-group > .custom-select, -.input-group > .custom-file { - position: relative; - flex: 1 1 auto; - width: 1%; - min-width: 0; - margin-bottom: 0; -} - -.input-group > .form-control + .form-control, -.input-group > .form-control + .custom-select, -.input-group > .form-control + .custom-file, -.input-group > .form-control-plaintext + .form-control, -.input-group > .form-control-plaintext + .custom-select, -.input-group > .form-control-plaintext + .custom-file, -.input-group > .custom-select + .form-control, -.input-group > .custom-select + .custom-select, -.input-group > .custom-select + .custom-file, -.input-group > .custom-file + .form-control, -.input-group > .custom-file + .custom-select, -.input-group > .custom-file + .custom-file { - margin-left: -1px; -} - -.input-group > .form-control:focus, -.input-group > .custom-select:focus, -.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { - z-index: 3; -} - -.input-group > .custom-file .custom-file-input:focus { - z-index: 4; -} - -.input-group > .form-control:not(:first-child), -.input-group > .custom-select:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group > .custom-file { - display: flex; - align-items: center; -} - -.input-group > .custom-file:not(:last-child) .custom-file-label, -.input-group > .custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.input-group:not(.has-validation) > .form-control:not(:last-child), -.input-group:not(.has-validation) > .custom-select:not(:last-child), -.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group.has-validation > .form-control:nth-last-child(n + 3), -.input-group.has-validation > .custom-select:nth-last-child(n + 3), -.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group-prepend, -.input-group-append { - display: flex; -} - -.input-group-prepend .btn, -.input-group-append .btn { - position: relative; - z-index: 2; -} - -.input-group-prepend .btn:focus, -.input-group-append .btn:focus { - z-index: 3; -} - -.input-group-prepend .btn + .btn, -.input-group-prepend .btn + .input-group-text, -.input-group-prepend .input-group-text + .input-group-text, -.input-group-prepend .input-group-text + .btn, -.input-group-append .btn + .btn, -.input-group-append .btn + .input-group-text, -.input-group-append .input-group-text + .input-group-text, -.input-group-append .input-group-text + .btn { - margin-left: -1px; -} - -.input-group-prepend { - margin-right: -1px; -} - -.input-group-append { - margin-left: -1px; -} - -.input-group-text { - display: flex; - align-items: center; - padding: 0.375rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - text-align: center; - white-space: nowrap; - background-color: #e9ecef; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.input-group-text input[type="radio"], -.input-group-text input[type="checkbox"] { - margin-top: 0; -} - -.input-group-lg > .form-control:not(textarea), -.input-group-lg > .custom-select { - height: calc(1.5em + 1rem + 2px); -} - -.input-group-lg > .form-control, -.input-group-lg > .custom-select, -.input-group-lg > .input-group-prepend > .input-group-text, -.input-group-lg > .input-group-append > .input-group-text, -.input-group-lg > .input-group-prepend > .btn, -.input-group-lg > .input-group-append > .btn { - padding: 0.5rem 1rem; - font-size: 1.25rem; - line-height: 1.5; - border-radius: 0.3rem; -} - -.input-group-sm > .form-control:not(textarea), -.input-group-sm > .custom-select { - height: calc(1.5em + 0.5rem + 2px); -} - -.input-group-sm > .form-control, -.input-group-sm > .custom-select, -.input-group-sm > .input-group-prepend > .input-group-text, -.input-group-sm > .input-group-append > .input-group-text, -.input-group-sm > .input-group-prepend > .btn, -.input-group-sm > .input-group-append > .btn { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; - border-radius: 0.2rem; -} - -.input-group-lg > .custom-select, -.input-group-sm > .custom-select { - padding-right: 1.75rem; -} - -.input-group > .input-group-prepend > .btn, -.input-group > .input-group-prepend > .input-group-text, -.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn, -.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text, -.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn, -.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text, -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - -.input-group > .input-group-append > .btn, -.input-group > .input-group-append > .input-group-text, -.input-group > .input-group-prepend:not(:first-child) > .btn, -.input-group > .input-group-prepend:not(:first-child) > .input-group-text, -.input-group > .input-group-prepend:first-child > .btn:not(:first-child), -.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.custom-control { - position: relative; - z-index: 1; - display: block; - min-height: 1.5rem; - padding-left: 1.5rem; - -webkit-print-color-adjust: exact; - color-adjust: exact; -} - -.custom-control-inline { - display: inline-flex; - margin-right: 1rem; -} - -.custom-control-input { - position: absolute; - left: 0; - z-index: -1; - width: 1rem; - height: 1.25rem; - opacity: 0; -} - -.custom-control-input:checked ~ .custom-control-label::before { - color: #fff; - border-color: #007bff; - background-color: #007bff; -} - -.custom-control-input:focus ~ .custom-control-label::before { - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-control-input:focus:not(:checked) ~ .custom-control-label::before { - border-color: #80bdff; -} - -.custom-control-input:not(:disabled):active ~ .custom-control-label::before { - color: #fff; - background-color: #b3d7ff; - border-color: #b3d7ff; -} - -.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { - color: #6c757d; -} - -.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { - background-color: #e9ecef; -} - -.custom-control-label { - position: relative; - margin-bottom: 0; - vertical-align: top; -} - -.custom-control-label::before { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - pointer-events: none; - content: ""; - background-color: #fff; - border: #adb5bd solid 1px; -} - -.custom-control-label::after { - position: absolute; - top: 0.25rem; - left: -1.5rem; - display: block; - width: 1rem; - height: 1rem; - content: ""; - background: 50% / 50% 50% no-repeat; -} - -.custom-checkbox .custom-control-label::before { - border-radius: 0.25rem; -} - -.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { - border-color: #007bff; - background-color: #007bff; -} - -.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); -} - -.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-radio .custom-control-label::before { - border-radius: 50%; -} - -.custom-radio .custom-control-input:checked ~ .custom-control-label::after { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); -} - -.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-switch { - padding-left: 2.25rem; -} - -.custom-switch .custom-control-label::before { - left: -2.25rem; - width: 1.75rem; - pointer-events: all; - border-radius: 0.5rem; -} - -.custom-switch .custom-control-label::after { - top: calc(0.25rem + 2px); - left: calc(-2.25rem + 2px); - width: calc(1rem - 4px); - height: calc(1rem - 4px); - background-color: #adb5bd; - border-radius: 0.5rem; - transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .custom-switch .custom-control-label::after { - transition: none; - } -} - -.custom-switch .custom-control-input:checked ~ .custom-control-label::after { - background-color: #fff; - transform: translateX(0.75rem); -} - -.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { - background-color: rgba(0, 123, 255, 0.5); -} - -.custom-select { - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 1.75rem 0.375rem 0.75rem; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - color: #495057; - vertical-align: middle; - background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat; - border: 1px solid #ced4da; - border-radius: 0.25rem; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-select:focus { - border-color: #80bdff; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-select:focus::-ms-value { - color: #495057; - background-color: #fff; -} - -.custom-select[multiple], .custom-select[size]:not([size="1"]) { - height: auto; - padding-right: 0.75rem; - background-image: none; -} - -.custom-select:disabled { - color: #6c757d; - background-color: #e9ecef; -} - -.custom-select::-ms-expand { - display: none; -} - -.custom-select:-moz-focusring { - color: transparent; - text-shadow: 0 0 0 #495057; -} - -.custom-select-sm { - height: calc(1.5em + 0.5rem + 2px); - padding-top: 0.25rem; - padding-bottom: 0.25rem; - padding-left: 0.5rem; - font-size: 0.875rem; -} - -.custom-select-lg { - height: calc(1.5em + 1rem + 2px); - padding-top: 0.5rem; - padding-bottom: 0.5rem; - padding-left: 1rem; - font-size: 1.25rem; -} - -.custom-file { - position: relative; - display: inline-block; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin-bottom: 0; -} - -.custom-file-input { - position: relative; - z-index: 2; - width: 100%; - height: calc(1.5em + 0.75rem + 2px); - margin: 0; - overflow: hidden; - opacity: 0; -} - -.custom-file-input:focus ~ .custom-file-label { - border-color: #80bdff; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-file-input[disabled] ~ .custom-file-label, -.custom-file-input:disabled ~ .custom-file-label { - background-color: #e9ecef; -} - -.custom-file-input:lang(en) ~ .custom-file-label::after { - content: "Browse"; -} - -.custom-file-input ~ .custom-file-label[data-browse]::after { - content: attr(data-browse); -} - -.custom-file-label { - position: absolute; - top: 0; - right: 0; - left: 0; - z-index: 1; - height: calc(1.5em + 0.75rem + 2px); - padding: 0.375rem 0.75rem; - overflow: hidden; - font-weight: 400; - line-height: 1.5; - color: #495057; - background-color: #fff; - border: 1px solid #ced4da; - border-radius: 0.25rem; -} - -.custom-file-label::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - z-index: 3; - display: block; - height: calc(1.5em + 0.75rem); - padding: 0.375rem 0.75rem; - line-height: 1.5; - color: #495057; - content: "Browse"; - background-color: #e9ecef; - border-left: inherit; - border-radius: 0 0.25rem 0.25rem 0; -} - -.custom-range { - width: 100%; - height: 1.4rem; - padding: 0; - background-color: transparent; - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; -} - -.custom-range:focus { - outline: 0; -} - -.custom-range:focus::-webkit-slider-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-moz-range-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range:focus::-ms-thumb { - box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.custom-range::-moz-focus-outer { - border: 0; -} - -.custom-range::-webkit-slider-thumb { - width: 1rem; - height: 1rem; - margin-top: -0.25rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -webkit-appearance: none; - appearance: none; -} - -@media (prefers-reduced-motion: reduce) { - .custom-range::-webkit-slider-thumb { - -webkit-transition: none; - transition: none; - } -} - -.custom-range::-webkit-slider-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-webkit-slider-runnable-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-moz-range-thumb { - width: 1rem; - height: 1rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - -moz-appearance: none; - appearance: none; -} - -@media (prefers-reduced-motion: reduce) { - .custom-range::-moz-range-thumb { - -moz-transition: none; - transition: none; - } -} - -.custom-range::-moz-range-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-moz-range-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: #dee2e6; - border-color: transparent; - border-radius: 1rem; -} - -.custom-range::-ms-thumb { - width: 1rem; - height: 1rem; - margin-top: 0; - margin-right: 0.2rem; - margin-left: 0.2rem; - background-color: #007bff; - border: 0; - border-radius: 1rem; - -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; - appearance: none; -} - -@media (prefers-reduced-motion: reduce) { - .custom-range::-ms-thumb { - -ms-transition: none; - transition: none; - } -} - -.custom-range::-ms-thumb:active { - background-color: #b3d7ff; -} - -.custom-range::-ms-track { - width: 100%; - height: 0.5rem; - color: transparent; - cursor: pointer; - background-color: transparent; - border-color: transparent; - border-width: 0.5rem; -} - -.custom-range::-ms-fill-lower { - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-range::-ms-fill-upper { - margin-right: 15px; - background-color: #dee2e6; - border-radius: 1rem; -} - -.custom-range:disabled::-webkit-slider-thumb { - background-color: #adb5bd; -} - -.custom-range:disabled::-webkit-slider-runnable-track { - cursor: default; -} - -.custom-range:disabled::-moz-range-thumb { - background-color: #adb5bd; -} - -.custom-range:disabled::-moz-range-track { - cursor: default; -} - -.custom-range:disabled::-ms-thumb { - background-color: #adb5bd; -} - -.custom-control-label::before, -.custom-file-label, -.custom-select { - transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .custom-control-label::before, - .custom-file-label, - .custom-select { - transition: none; - } -} - -.nav { - display: flex; - flex-wrap: wrap; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.nav-link { - display: block; - padding: 0.5rem 1rem; -} - -.nav-link:hover, .nav-link:focus { - text-decoration: none; -} - -.nav-link.disabled { - color: #6c757d; - pointer-events: none; - cursor: default; -} - -.nav-tabs { - border-bottom: 1px solid #dee2e6; -} - -.nav-tabs .nav-link { - margin-bottom: -1px; - border: 1px solid transparent; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; -} - -.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { - border-color: #e9ecef #e9ecef #dee2e6; -} - -.nav-tabs .nav-link.disabled { - color: #6c757d; - background-color: transparent; - border-color: transparent; -} - -.nav-tabs .nav-link.active, -.nav-tabs .nav-item.show .nav-link { - color: #495057; - background-color: #fff; - border-color: #dee2e6 #dee2e6 #fff; -} - -.nav-tabs .dropdown-menu { - margin-top: -1px; - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.nav-pills .nav-link { - border-radius: 0.25rem; -} - -.nav-pills .nav-link.active, -.nav-pills .show > .nav-link { - color: #fff; - background-color: #007bff; -} - -.nav-fill > .nav-link, -.nav-fill .nav-item { - flex: 1 1 auto; - text-align: center; -} - -.nav-justified > .nav-link, -.nav-justified .nav-item { - flex-basis: 0; - flex-grow: 1; - text-align: center; -} - -.tab-content > .tab-pane { - display: none; -} - -.tab-content > .active { - display: block; -} - -.navbar { - position: relative; - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; - padding: 0.5rem 1rem; -} - -.navbar .container, -.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: space-between; -} - -.navbar-brand { - display: inline-block; - padding-top: 0.3125rem; - padding-bottom: 0.3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; -} - -.navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; -} - -.navbar-nav { - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; -} - -.navbar-nav .dropdown-menu { - position: static; - float: none; -} - -.navbar-text { - display: inline-block; - padding-top: 0.5rem; - padding-bottom: 0.5rem; -} - -.navbar-collapse { - flex-basis: 100%; - flex-grow: 1; - align-items: center; -} - -.navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.navbar-toggler:hover, .navbar-toggler:focus { - text-decoration: none; -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: 50% / 100% 100% no-repeat; -} - -.navbar-nav-scroll { - max-height: 75vh; - overflow-y: auto; -} - -@media (max-width: 575.98px) { - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 576px) { - .navbar-expand-sm { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-sm .navbar-nav { - flex-direction: row; - } - .navbar-expand-sm .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-sm .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl { - flex-wrap: nowrap; - } - .navbar-expand-sm .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-sm .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-sm .navbar-toggler { - display: none; - } -} - -@media (max-width: 767.98px) { - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 768px) { - .navbar-expand-md { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-md .navbar-nav { - flex-direction: row; - } - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl { - flex-wrap: nowrap; - } - .navbar-expand-md .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-md .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-md .navbar-toggler { - display: none; - } -} - -@media (max-width: 991.98px) { - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 992px) { - .navbar-expand-lg { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-lg .navbar-nav { - flex-direction: row; - } - .navbar-expand-lg .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-lg .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl { - flex-wrap: nowrap; - } - .navbar-expand-lg .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-lg .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-lg .navbar-toggler { - display: none; - } -} - -@media (max-width: 1199.98px) { - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 1200px) { - .navbar-expand-xl { - flex-flow: row nowrap; - justify-content: flex-start; - } - .navbar-expand-xl .navbar-nav { - flex-direction: row; - } - .navbar-expand-xl .navbar-nav .dropdown-menu { - position: absolute; - } - .navbar-expand-xl .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; - } - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl { - flex-wrap: nowrap; - } - .navbar-expand-xl .navbar-nav-scroll { - overflow: visible; - } - .navbar-expand-xl .navbar-collapse { - display: flex !important; - flex-basis: auto; - } - .navbar-expand-xl .navbar-toggler { - display: none; - } -} - -.navbar-expand { - flex-flow: row nowrap; - justify-content: flex-start; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { - padding-right: 0; - padding-left: 0; -} - -.navbar-expand .navbar-nav { - flex-direction: row; -} - -.navbar-expand .navbar-nav .dropdown-menu { - position: absolute; -} - -.navbar-expand .navbar-nav .nav-link { - padding-right: 0.5rem; - padding-left: 0.5rem; -} - -.navbar-expand > .container, -.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl { - flex-wrap: nowrap; -} - -.navbar-expand .navbar-nav-scroll { - overflow: visible; -} - -.navbar-expand .navbar-collapse { - display: flex !important; - flex-basis: auto; -} - -.navbar-expand .navbar-toggler { - display: none; -} - -.navbar-light .navbar-brand { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-nav .nav-link { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { - color: rgba(0, 0, 0, 0.7); -} - -.navbar-light .navbar-nav .nav-link.disabled { - color: rgba(0, 0, 0, 0.3); -} - -.navbar-light .navbar-nav .show > .nav-link, -.navbar-light .navbar-nav .active > .nav-link, -.navbar-light .navbar-nav .nav-link.show, -.navbar-light .navbar-nav .nav-link.active { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-toggler { - color: rgba(0, 0, 0, 0.5); - border-color: rgba(0, 0, 0, 0.1); -} - -.navbar-light .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.navbar-light .navbar-text { - color: rgba(0, 0, 0, 0.5); -} - -.navbar-light .navbar-text a { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { - color: rgba(0, 0, 0, 0.9); -} - -.navbar-dark .navbar-brand { - color: #fff; -} - -.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: #fff; -} - -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: rgba(255, 255, 255, 0.75); -} - -.navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} - -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: #fff; -} - -.navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.5); - border-color: rgba(255, 255, 255, 0.1); -} - -.navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); -} - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-text a { - color: #fff; -} - -.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { - color: #fff; -} - -.card { - position: relative; - display: flex; - flex-direction: column; - min-width: 0; - word-wrap: break-word; - background-color: #fff; - background-clip: border-box; - border: 1px solid rgba(0, 0, 0, 0.125); - border-radius: 0.25rem; -} - -.card > hr { - margin-right: 0; - margin-left: 0; -} - -.card > .list-group { - border-top: inherit; - border-bottom: inherit; -} - -.card > .list-group:first-child { - border-top-width: 0; - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); -} - -.card > .list-group:last-child { - border-bottom-width: 0; - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); -} - -.card > .card-header + .list-group, -.card > .list-group + .card-footer { - border-top: 0; -} - -.card-body { - flex: 1 1 auto; - min-height: 1px; - padding: 1.25rem; -} - -.card-title { - margin-bottom: 0.75rem; -} - -.card-subtitle { - margin-top: -0.375rem; - margin-bottom: 0; -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link:hover { - text-decoration: none; -} - -.card-link + .card-link { - margin-left: 1.25rem; -} - -.card-header { - padding: 0.75rem 1.25rem; - margin-bottom: 0; - background-color: rgba(0, 0, 0, 0.03); - border-bottom: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-header:first-child { - border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; -} - -.card-footer { - padding: 0.75rem 1.25rem; - background-color: rgba(0, 0, 0, 0.03); - border-top: 1px solid rgba(0, 0, 0, 0.125); -} - -.card-footer:last-child { - border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); -} - -.card-header-tabs { - margin-right: -0.625rem; - margin-bottom: -0.75rem; - margin-left: -0.625rem; - border-bottom: 0; -} - -.card-header-pills { - margin-right: -0.625rem; - margin-left: -0.625rem; -} - -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: 1.25rem; - border-radius: calc(0.25rem - 1px); -} - -.card-img, -.card-img-top, -.card-img-bottom { - flex-shrink: 0; - width: 100%; -} - -.card-img, -.card-img-top { - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); -} - -.card-img, -.card-img-bottom { - border-bottom-right-radius: calc(0.25rem - 1px); - border-bottom-left-radius: calc(0.25rem - 1px); -} - -.card-deck .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-deck { - display: flex; - flex-flow: row wrap; - margin-right: -15px; - margin-left: -15px; - } - .card-deck .card { - flex: 1 0 0%; - margin-right: 15px; - margin-bottom: 0; - margin-left: 15px; - } -} - -.card-group > .card { - margin-bottom: 15px; -} - -@media (min-width: 576px) { - .card-group { - display: flex; - flex-flow: row wrap; - } - .card-group > .card { - flex: 1 0 0%; - margin-bottom: 0; - } - .card-group > .card + .card { - margin-left: 0; - border-left: 0; - } - .card-group > .card:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-top, - .card-group > .card:not(:last-child) .card-header { - border-top-right-radius: 0; - } - .card-group > .card:not(:last-child) .card-img-bottom, - .card-group > .card:not(:last-child) .card-footer { - border-bottom-right-radius: 0; - } - .card-group > .card:not(:first-child) { - border-top-left-radius: 0; - border-bottom-left-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-top, - .card-group > .card:not(:first-child) .card-header { - border-top-left-radius: 0; - } - .card-group > .card:not(:first-child) .card-img-bottom, - .card-group > .card:not(:first-child) .card-footer { - border-bottom-left-radius: 0; - } -} - -.card-columns .card { - margin-bottom: 0.75rem; -} - -@media (min-width: 576px) { - .card-columns { - -moz-column-count: 3; - column-count: 3; - -moz-column-gap: 1.25rem; - column-gap: 1.25rem; - orphans: 1; - widows: 1; - } - .card-columns .card { - display: inline-block; - width: 100%; - } -} - -.accordion { - overflow-anchor: none; -} - -.accordion > .card { - overflow: hidden; -} - -.accordion > .card:not(:last-of-type) { - border-bottom: 0; - border-bottom-right-radius: 0; - border-bottom-left-radius: 0; -} - -.accordion > .card:not(:first-of-type) { - border-top-left-radius: 0; - border-top-right-radius: 0; -} - -.accordion > .card > .card-header { - border-radius: 0; - margin-bottom: -1px; -} - -.breadcrumb { - display: flex; - flex-wrap: wrap; - padding: 0.75rem 1rem; - margin-bottom: 1rem; - list-style: none; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.breadcrumb-item + .breadcrumb-item { - padding-left: 0.5rem; -} - -.breadcrumb-item + .breadcrumb-item::before { - float: left; - padding-right: 0.5rem; - color: #6c757d; - content: "/"; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: underline; -} - -.breadcrumb-item + .breadcrumb-item:hover::before { - text-decoration: none; -} - -.breadcrumb-item.active { - color: #6c757d; -} - -.pagination { - display: flex; - padding-left: 0; - list-style: none; - border-radius: 0.25rem; -} - -.page-link { - position: relative; - display: block; - padding: 0.5rem 0.75rem; - margin-left: -1px; - line-height: 1.25; - color: #007bff; - background-color: #fff; - border: 1px solid #dee2e6; -} - -.page-link:hover { - z-index: 2; - color: #0056b3; - text-decoration: none; - background-color: #e9ecef; - border-color: #dee2e6; -} - -.page-link:focus { - z-index: 3; - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); -} - -.page-item:first-child .page-link { - margin-left: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.page-item:last-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; -} - -.page-item.active .page-link { - z-index: 3; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.page-item.disabled .page-link { - color: #6c757d; - pointer-events: none; - cursor: auto; - background-color: #fff; - border-color: #dee2e6; -} - -.pagination-lg .page-link { - padding: 0.75rem 1.5rem; - font-size: 1.25rem; - line-height: 1.5; -} - -.pagination-lg .page-item:first-child .page-link { - border-top-left-radius: 0.3rem; - border-bottom-left-radius: 0.3rem; -} - -.pagination-lg .page-item:last-child .page-link { - border-top-right-radius: 0.3rem; - border-bottom-right-radius: 0.3rem; -} - -.pagination-sm .page-link { - padding: 0.25rem 0.5rem; - font-size: 0.875rem; - line-height: 1.5; -} - -.pagination-sm .page-item:first-child .page-link { - border-top-left-radius: 0.2rem; - border-bottom-left-radius: 0.2rem; -} - -.pagination-sm .page-item:last-child .page-link { - border-top-right-radius: 0.2rem; - border-bottom-right-radius: 0.2rem; -} - -.badge { - display: inline-block; - padding: 0.25em 0.4em; - font-size: 75%; - font-weight: 700; - line-height: 1; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - border-radius: 0.25rem; - transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .badge { - transition: none; - } -} - -a.badge:hover, a.badge:focus { - text-decoration: none; -} - -.badge:empty { - display: none; -} - -.btn .badge { - position: relative; - top: -1px; -} - -.badge-pill { - padding-right: 0.6em; - padding-left: 0.6em; - border-radius: 10rem; -} - -.badge-primary { - color: #fff; - background-color: #007bff; -} - -a.badge-primary:hover, a.badge-primary:focus { - color: #fff; - background-color: #0062cc; -} - -a.badge-primary:focus, a.badge-primary.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); -} - -.badge-secondary { - color: #fff; - background-color: #6c757d; -} - -a.badge-secondary:hover, a.badge-secondary:focus { - color: #fff; - background-color: #545b62; -} - -a.badge-secondary:focus, a.badge-secondary.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); -} - -.badge-success { - color: #fff; - background-color: #28a745; -} - -a.badge-success:hover, a.badge-success:focus { - color: #fff; - background-color: #1e7e34; -} - -a.badge-success:focus, a.badge-success.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); -} - -.badge-info { - color: #fff; - background-color: #17a2b8; -} - -a.badge-info:hover, a.badge-info:focus { - color: #fff; - background-color: #117a8b; -} - -a.badge-info:focus, a.badge-info.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); -} - -.badge-warning { - color: #212529; - background-color: #ffc107; -} - -a.badge-warning:hover, a.badge-warning:focus { - color: #212529; - background-color: #d39e00; -} - -a.badge-warning:focus, a.badge-warning.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); -} - -.badge-danger { - color: #fff; - background-color: #dc3545; -} - -a.badge-danger:hover, a.badge-danger:focus { - color: #fff; - background-color: #bd2130; -} - -a.badge-danger:focus, a.badge-danger.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); -} - -.badge-light { - color: #212529; - background-color: #f8f9fa; -} - -a.badge-light:hover, a.badge-light:focus { - color: #212529; - background-color: #dae0e5; -} - -a.badge-light:focus, a.badge-light.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); -} - -.badge-dark { - color: #fff; - background-color: #343a40; -} - -a.badge-dark:hover, a.badge-dark:focus { - color: #fff; - background-color: #1d2124; -} - -a.badge-dark:focus, a.badge-dark.focus { - outline: 0; - box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); -} - -.jumbotron { - padding: 2rem 1rem; - margin-bottom: 2rem; - background-color: #e9ecef; - border-radius: 0.3rem; -} - -@media (min-width: 576px) { - .jumbotron { - padding: 4rem 2rem; - } -} - -.jumbotron-fluid { - padding-right: 0; - padding-left: 0; - border-radius: 0; -} - -.alert { - position: relative; - padding: 0.75rem 1.25rem; - margin-bottom: 1rem; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.alert-heading { - color: inherit; -} - -.alert-link { - font-weight: 700; -} - -.alert-dismissible { - padding-right: 4rem; -} - -.alert-dismissible .close { - position: absolute; - top: 0; - right: 0; - z-index: 2; - padding: 0.75rem 1.25rem; - color: inherit; -} - -.alert-primary { - color: #004085; - background-color: #cce5ff; - border-color: #b8daff; -} - -.alert-primary hr { - border-top-color: #9fcdff; -} - -.alert-primary .alert-link { - color: #002752; -} - -.alert-secondary { - color: #383d41; - background-color: #e2e3e5; - border-color: #d6d8db; -} - -.alert-secondary hr { - border-top-color: #c8cbcf; -} - -.alert-secondary .alert-link { - color: #202326; -} - -.alert-success { - color: #155724; - background-color: #d4edda; - border-color: #c3e6cb; -} - -.alert-success hr { - border-top-color: #b1dfbb; -} - -.alert-success .alert-link { - color: #0b2e13; -} - -.alert-info { - color: #0c5460; - background-color: #d1ecf1; - border-color: #bee5eb; -} - -.alert-info hr { - border-top-color: #abdde5; -} - -.alert-info .alert-link { - color: #062c33; -} - -.alert-warning { - color: #856404; - background-color: #fff3cd; - border-color: #ffeeba; -} - -.alert-warning hr { - border-top-color: #ffe8a1; -} - -.alert-warning .alert-link { - color: #533f03; -} - -.alert-danger { - color: #721c24; - background-color: #f8d7da; - border-color: #f5c6cb; -} - -.alert-danger hr { - border-top-color: #f1b0b7; -} - -.alert-danger .alert-link { - color: #491217; -} - -.alert-light { - color: #818182; - background-color: #fefefe; - border-color: #fdfdfe; -} - -.alert-light hr { - border-top-color: #ececf6; -} - -.alert-light .alert-link { - color: #686868; -} - -.alert-dark { - color: #1b1e21; - background-color: #d6d8d9; - border-color: #c6c8ca; -} - -.alert-dark hr { - border-top-color: #b9bbbe; -} - -.alert-dark .alert-link { - color: #040505; -} - -@-webkit-keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -@keyframes progress-bar-stripes { - from { - background-position: 1rem 0; - } - to { - background-position: 0 0; - } -} - -.progress { - display: flex; - height: 1rem; - overflow: hidden; - line-height: 0; - font-size: 0.75rem; - background-color: #e9ecef; - border-radius: 0.25rem; -} - -.progress-bar { - display: flex; - flex-direction: column; - justify-content: center; - overflow: hidden; - color: #fff; - text-align: center; - white-space: nowrap; - background-color: #007bff; - transition: width 0.6s ease; -} - -@media (prefers-reduced-motion: reduce) { - .progress-bar { - transition: none; - } -} - -.progress-bar-striped { - background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); - background-size: 1rem 1rem; -} - -.progress-bar-animated { - -webkit-animation: 1s linear infinite progress-bar-stripes; - animation: 1s linear infinite progress-bar-stripes; -} - -@media (prefers-reduced-motion: reduce) { - .progress-bar-animated { - -webkit-animation: none; - animation: none; - } -} - -.media { - display: flex; - align-items: flex-start; -} - -.media-body { - flex: 1; -} - -.list-group { - display: flex; - flex-direction: column; - padding-left: 0; - margin-bottom: 0; - border-radius: 0.25rem; -} - -.list-group-item-action { - width: 100%; - color: #495057; - text-align: inherit; -} - -.list-group-item-action:hover, .list-group-item-action:focus { - z-index: 1; - color: #495057; - text-decoration: none; - background-color: #f8f9fa; -} - -.list-group-item-action:active { - color: #212529; - background-color: #e9ecef; -} - -.list-group-item { - position: relative; - display: block; - padding: 0.75rem 1.25rem; - background-color: #fff; - border: 1px solid rgba(0, 0, 0, 0.125); -} - -.list-group-item:first-child { - border-top-left-radius: inherit; - border-top-right-radius: inherit; -} - -.list-group-item:last-child { - border-bottom-right-radius: inherit; - border-bottom-left-radius: inherit; -} - -.list-group-item.disabled, .list-group-item:disabled { - color: #6c757d; - pointer-events: none; - background-color: #fff; -} - -.list-group-item.active { - z-index: 2; - color: #fff; - background-color: #007bff; - border-color: #007bff; -} - -.list-group-item + .list-group-item { - border-top-width: 0; -} - -.list-group-item + .list-group-item.active { - margin-top: -1px; - border-top-width: 1px; -} - -.list-group-horizontal { - flex-direction: row; -} - -.list-group-horizontal > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; -} - -.list-group-horizontal > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; -} - -.list-group-horizontal > .list-group-item.active { - margin-top: 0; -} - -.list-group-horizontal > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; -} - -.list-group-horizontal > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; -} - -@media (min-width: 576px) { - .list-group-horizontal-sm { - flex-direction: row; - } - .list-group-horizontal-sm > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-sm > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } - .list-group-horizontal-sm > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-sm > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; - } - .list-group-horizontal-sm > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; - } -} - -@media (min-width: 768px) { - .list-group-horizontal-md { - flex-direction: row; - } - .list-group-horizontal-md > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-md > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } - .list-group-horizontal-md > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-md > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; - } - .list-group-horizontal-md > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; - } -} - -@media (min-width: 992px) { - .list-group-horizontal-lg { - flex-direction: row; - } - .list-group-horizontal-lg > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-lg > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } - .list-group-horizontal-lg > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-lg > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; - } - .list-group-horizontal-lg > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; - } -} - -@media (min-width: 1200px) { - .list-group-horizontal-xl { - flex-direction: row; - } - .list-group-horizontal-xl > .list-group-item:first-child { - border-bottom-left-radius: 0.25rem; - border-top-right-radius: 0; - } - .list-group-horizontal-xl > .list-group-item:last-child { - border-top-right-radius: 0.25rem; - border-bottom-left-radius: 0; - } - .list-group-horizontal-xl > .list-group-item.active { - margin-top: 0; - } - .list-group-horizontal-xl > .list-group-item + .list-group-item { - border-top-width: 1px; - border-left-width: 0; - } - .list-group-horizontal-xl > .list-group-item + .list-group-item.active { - margin-left: -1px; - border-left-width: 1px; - } -} - -.list-group-flush { - border-radius: 0; -} - -.list-group-flush > .list-group-item { - border-width: 0 0 1px; -} - -.list-group-flush > .list-group-item:last-child { - border-bottom-width: 0; -} - -.list-group-item-primary { - color: #004085; - background-color: #b8daff; -} - -.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { - color: #004085; - background-color: #9fcdff; -} - -.list-group-item-primary.list-group-item-action.active { - color: #fff; - background-color: #004085; - border-color: #004085; -} - -.list-group-item-secondary { - color: #383d41; - background-color: #d6d8db; -} - -.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { - color: #383d41; - background-color: #c8cbcf; -} - -.list-group-item-secondary.list-group-item-action.active { - color: #fff; - background-color: #383d41; - border-color: #383d41; -} - -.list-group-item-success { - color: #155724; - background-color: #c3e6cb; -} - -.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { - color: #155724; - background-color: #b1dfbb; -} - -.list-group-item-success.list-group-item-action.active { - color: #fff; - background-color: #155724; - border-color: #155724; -} - -.list-group-item-info { - color: #0c5460; - background-color: #bee5eb; -} - -.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { - color: #0c5460; - background-color: #abdde5; -} - -.list-group-item-info.list-group-item-action.active { - color: #fff; - background-color: #0c5460; - border-color: #0c5460; -} - -.list-group-item-warning { - color: #856404; - background-color: #ffeeba; -} - -.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { - color: #856404; - background-color: #ffe8a1; -} - -.list-group-item-warning.list-group-item-action.active { - color: #fff; - background-color: #856404; - border-color: #856404; -} - -.list-group-item-danger { - color: #721c24; - background-color: #f5c6cb; -} - -.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { - color: #721c24; - background-color: #f1b0b7; -} - -.list-group-item-danger.list-group-item-action.active { - color: #fff; - background-color: #721c24; - border-color: #721c24; -} - -.list-group-item-light { - color: #818182; - background-color: #fdfdfe; -} - -.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { - color: #818182; - background-color: #ececf6; -} - -.list-group-item-light.list-group-item-action.active { - color: #fff; - background-color: #818182; - border-color: #818182; -} - -.list-group-item-dark { - color: #1b1e21; - background-color: #c6c8ca; -} - -.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { - color: #1b1e21; - background-color: #b9bbbe; -} - -.list-group-item-dark.list-group-item-action.active { - color: #fff; - background-color: #1b1e21; - border-color: #1b1e21; -} - -.close { - float: right; - font-size: 1.5rem; - font-weight: 700; - line-height: 1; - color: #000; - text-shadow: 0 1px 0 #fff; - opacity: .5; -} - -.close:hover { - color: #000; - text-decoration: none; -} - -.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { - opacity: .75; -} - -button.close { - padding: 0; - background-color: transparent; - border: 0; -} - -a.close.disabled { - pointer-events: none; -} - -.toast { - flex-basis: 350px; - max-width: 350px; - font-size: 0.875rem; - background-color: rgba(255, 255, 255, 0.85); - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.1); - box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); - opacity: 0; - border-radius: 0.25rem; -} - -.toast:not(:last-child) { - margin-bottom: 0.75rem; -} - -.toast.showing { - opacity: 1; -} - -.toast.show { - display: block; - opacity: 1; -} - -.toast.hide { - display: none; -} - -.toast-header { - display: flex; - align-items: center; - padding: 0.25rem 0.75rem; - color: #6c757d; - background-color: rgba(255, 255, 255, 0.85); - background-clip: padding-box; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); - border-top-left-radius: calc(0.25rem - 1px); - border-top-right-radius: calc(0.25rem - 1px); -} - -.toast-body { - padding: 0.75rem; -} - -.modal-open { - overflow: hidden; -} - -.modal-open .modal { - overflow-x: hidden; - overflow-y: auto; -} - -.modal { - position: fixed; - top: 0; - left: 0; - z-index: 1050; - display: none; - width: 100%; - height: 100%; - overflow: hidden; - outline: 0; -} - -.modal-dialog { - position: relative; - width: auto; - margin: 0.5rem; - pointer-events: none; -} - -.modal.fade .modal-dialog { - transition: transform 0.3s ease-out; - transform: translate(0, -50px); -} - -@media (prefers-reduced-motion: reduce) { - .modal.fade .modal-dialog { - transition: none; - } -} - -.modal.show .modal-dialog { - transform: none; -} - -.modal.modal-static .modal-dialog { - transform: scale(1.02); -} - -.modal-dialog-scrollable { - display: flex; - max-height: calc(100% - 1rem); -} - -.modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 1rem); - overflow: hidden; -} - -.modal-dialog-scrollable .modal-header, -.modal-dialog-scrollable .modal-footer { - flex-shrink: 0; -} - -.modal-dialog-scrollable .modal-body { - overflow-y: auto; -} - -.modal-dialog-centered { - display: flex; - align-items: center; - min-height: calc(100% - 1rem); -} - -.modal-dialog-centered::before { - display: block; - height: calc(100vh - 1rem); - height: -webkit-min-content; - height: -moz-min-content; - height: min-content; - content: ""; -} - -.modal-dialog-centered.modal-dialog-scrollable { - flex-direction: column; - justify-content: center; - height: 100%; -} - -.modal-dialog-centered.modal-dialog-scrollable .modal-content { - max-height: none; -} - -.modal-dialog-centered.modal-dialog-scrollable::before { - content: none; -} - -.modal-content { - position: relative; - display: flex; - flex-direction: column; - width: 100%; - pointer-events: auto; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; - outline: 0; -} - -.modal-backdrop { - position: fixed; - top: 0; - left: 0; - z-index: 1040; - width: 100vw; - height: 100vh; - background-color: #000; -} - -.modal-backdrop.fade { - opacity: 0; -} - -.modal-backdrop.show { - opacity: 0.5; -} - -.modal-header { - display: flex; - align-items: flex-start; - justify-content: space-between; - padding: 1rem 1rem; - border-bottom: 1px solid #dee2e6; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} - -.modal-header .close { - padding: 1rem 1rem; - margin: -1rem -1rem -1rem auto; -} - -.modal-title { - margin-bottom: 0; - line-height: 1.5; -} - -.modal-body { - position: relative; - flex: 1 1 auto; - padding: 1rem; -} - -.modal-footer { - display: flex; - flex-wrap: wrap; - align-items: center; - justify-content: flex-end; - padding: 0.75rem; - border-top: 1px solid #dee2e6; - border-bottom-right-radius: calc(0.3rem - 1px); - border-bottom-left-radius: calc(0.3rem - 1px); -} - -.modal-footer > * { - margin: 0.25rem; -} - -.modal-scrollbar-measure { - position: absolute; - top: -9999px; - width: 50px; - height: 50px; - overflow: scroll; -} - -@media (min-width: 576px) { - .modal-dialog { - max-width: 500px; - margin: 1.75rem auto; - } - .modal-dialog-scrollable { - max-height: calc(100% - 3.5rem); - } - .modal-dialog-scrollable .modal-content { - max-height: calc(100vh - 3.5rem); - } - .modal-dialog-centered { - min-height: calc(100% - 3.5rem); - } - .modal-dialog-centered::before { - height: calc(100vh - 3.5rem); - height: -webkit-min-content; - height: -moz-min-content; - height: min-content; - } - .modal-sm { - max-width: 300px; - } -} - -@media (min-width: 992px) { - .modal-lg, - .modal-xl { - max-width: 800px; - } -} - -@media (min-width: 1200px) { - .modal-xl { - max-width: 1140px; - } -} - -.tooltip { - position: absolute; - z-index: 1070; - display: block; - margin: 0; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - opacity: 0; -} - -.tooltip.show { - opacity: 0.9; -} - -.tooltip .arrow { - position: absolute; - display: block; - width: 0.8rem; - height: 0.4rem; -} - -.tooltip .arrow::before { - position: absolute; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-tooltip-top, .bs-tooltip-auto[x-placement^="top"] { - padding: 0.4rem 0; -} - -.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^="top"] .arrow { - bottom: 0; -} - -.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^="top"] .arrow::before { - top: 0; - border-width: 0.4rem 0.4rem 0; - border-top-color: #000; -} - -.bs-tooltip-right, .bs-tooltip-auto[x-placement^="right"] { - padding: 0 0.4rem; -} - -.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^="right"] .arrow { - left: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^="right"] .arrow::before { - right: 0; - border-width: 0.4rem 0.4rem 0.4rem 0; - border-right-color: #000; -} - -.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^="bottom"] { - padding: 0.4rem 0; -} - -.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^="bottom"] .arrow { - top: 0; -} - -.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^="bottom"] .arrow::before { - bottom: 0; - border-width: 0 0.4rem 0.4rem; - border-bottom-color: #000; -} - -.bs-tooltip-left, .bs-tooltip-auto[x-placement^="left"] { - padding: 0 0.4rem; -} - -.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^="left"] .arrow { - right: 0; - width: 0.4rem; - height: 0.8rem; -} - -.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^="left"] .arrow::before { - left: 0; - border-width: 0.4rem 0 0.4rem 0.4rem; - border-left-color: #000; -} - -.tooltip-inner { - max-width: 200px; - padding: 0.25rem 0.5rem; - color: #fff; - text-align: center; - background-color: #000; - border-radius: 0.25rem; -} - -.popover { - position: absolute; - top: 0; - left: 0; - z-index: 1060; - display: block; - max-width: 276px; - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; - font-style: normal; - font-weight: 400; - line-height: 1.5; - text-align: left; - text-align: start; - text-decoration: none; - text-shadow: none; - text-transform: none; - letter-spacing: normal; - word-break: normal; - word-spacing: normal; - white-space: normal; - line-break: auto; - font-size: 0.875rem; - word-wrap: break-word; - background-color: #fff; - background-clip: padding-box; - border: 1px solid rgba(0, 0, 0, 0.2); - border-radius: 0.3rem; -} - -.popover .arrow { - position: absolute; - display: block; - width: 1rem; - height: 0.5rem; - margin: 0 0.3rem; -} - -.popover .arrow::before, .popover .arrow::after { - position: absolute; - display: block; - content: ""; - border-color: transparent; - border-style: solid; -} - -.bs-popover-top, .bs-popover-auto[x-placement^="top"] { - margin-bottom: 0.5rem; -} - -.bs-popover-top > .arrow, .bs-popover-auto[x-placement^="top"] > .arrow { - bottom: calc(-0.5rem - 1px); -} - -.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^="top"] > .arrow::before { - bottom: 0; - border-width: 0.5rem 0.5rem 0; - border-top-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^="top"] > .arrow::after { - bottom: 1px; - border-width: 0.5rem 0.5rem 0; - border-top-color: #fff; -} - -.bs-popover-right, .bs-popover-auto[x-placement^="right"] { - margin-left: 0.5rem; -} - -.bs-popover-right > .arrow, .bs-popover-auto[x-placement^="right"] > .arrow { - left: calc(-0.5rem - 1px); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^="right"] > .arrow::before { - left: 0; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^="right"] > .arrow::after { - left: 1px; - border-width: 0.5rem 0.5rem 0.5rem 0; - border-right-color: #fff; -} - -.bs-popover-bottom, .bs-popover-auto[x-placement^="bottom"] { - margin-top: 0.5rem; -} - -.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^="bottom"] > .arrow { - top: calc(-0.5rem - 1px); -} - -.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^="bottom"] > .arrow::before { - top: 0; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^="bottom"] > .arrow::after { - top: 1px; - border-width: 0 0.5rem 0.5rem 0.5rem; - border-bottom-color: #fff; -} - -.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^="bottom"] .popover-header::before { - position: absolute; - top: 0; - left: 50%; - display: block; - width: 1rem; - margin-left: -0.5rem; - content: ""; - border-bottom: 1px solid #f7f7f7; -} - -.bs-popover-left, .bs-popover-auto[x-placement^="left"] { - margin-right: 0.5rem; -} - -.bs-popover-left > .arrow, .bs-popover-auto[x-placement^="left"] > .arrow { - right: calc(-0.5rem - 1px); - width: 0.5rem; - height: 1rem; - margin: 0.3rem 0; -} - -.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^="left"] > .arrow::before { - right: 0; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: rgba(0, 0, 0, 0.25); -} - -.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^="left"] > .arrow::after { - right: 1px; - border-width: 0.5rem 0 0.5rem 0.5rem; - border-left-color: #fff; -} - -.popover-header { - padding: 0.5rem 0.75rem; - margin-bottom: 0; - font-size: 1rem; - background-color: #f7f7f7; - border-bottom: 1px solid #ebebeb; - border-top-left-radius: calc(0.3rem - 1px); - border-top-right-radius: calc(0.3rem - 1px); -} - -.popover-header:empty { - display: none; -} - -.popover-body { - padding: 0.5rem 0.75rem; - color: #212529; -} - -.carousel { - position: relative; -} - -.carousel.pointer-event { - touch-action: pan-y; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; -} - -.carousel-inner::after { - display: block; - clear: both; - content: ""; -} - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - -webkit-backface-visibility: hidden; - backface-visibility: hidden; - transition: transform 0.6s ease-in-out; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-item { - transition: none; - } -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; -} - -.carousel-item-next:not(.carousel-item-left), -.active.carousel-item-right { - transform: translateX(100%); -} - -.carousel-item-prev:not(.carousel-item-right), -.active.carousel-item-left { - transform: translateX(-100%); -} - -.carousel-fade .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; -} - -.carousel-fade .carousel-item.active, -.carousel-fade .carousel-item-next.carousel-item-left, -.carousel-fade .carousel-item-prev.carousel-item-right { - z-index: 1; - opacity: 1; -} - -.carousel-fade .active.carousel-item-left, -.carousel-fade .active.carousel-item-right { - z-index: 0; - opacity: 0; - transition: opacity 0s 0.6s; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-right { - transition: none; - } -} - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - display: flex; - align-items: center; - justify-content: center; - width: 15%; - color: #fff; - text-align: center; - opacity: 0.5; - transition: opacity 0.15s ease; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-control-prev, - .carousel-control-next { - transition: none; - } -} - -.carousel-control-prev:hover, .carousel-control-prev:focus, -.carousel-control-next:hover, -.carousel-control-next:focus { - color: #fff; - text-decoration: none; - outline: 0; - opacity: 0.9; -} - -.carousel-control-prev { - left: 0; -} - -.carousel-control-next { - right: 0; -} - -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: 20px; - height: 20px; - background: 50% / 100% 100% no-repeat; -} - -.carousel-control-prev-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e"); -} - -.carousel-control-next-icon { - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e"); -} - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 15; - display: flex; - justify-content: center; - padding-left: 0; - margin-right: 15%; - margin-left: 15%; - list-style: none; -} - -.carousel-indicators li { - box-sizing: content-box; - flex: 0 1 auto; - width: 30px; - height: 3px; - margin-right: 3px; - margin-left: 3px; - text-indent: -999px; - cursor: pointer; - background-color: #fff; - background-clip: padding-box; - border-top: 10px solid transparent; - border-bottom: 10px solid transparent; - opacity: .5; - transition: opacity 0.6s ease; -} - -@media (prefers-reduced-motion: reduce) { - .carousel-indicators li { - transition: none; - } -} - -.carousel-indicators .active { - opacity: 1; -} - -.carousel-caption { - position: absolute; - right: 15%; - bottom: 20px; - left: 15%; - z-index: 10; - padding-top: 20px; - padding-bottom: 20px; - color: #fff; - text-align: center; -} - -@-webkit-keyframes spinner-border { - to { - transform: rotate(360deg); - } -} - -@keyframes spinner-border { - to { - transform: rotate(360deg); - } -} - -.spinner-border { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - border: 0.25em solid currentColor; - border-right-color: transparent; - border-radius: 50%; - -webkit-animation: .75s linear infinite spinner-border; - animation: .75s linear infinite spinner-border; -} - -.spinner-border-sm { - width: 1rem; - height: 1rem; - border-width: 0.2em; -} - -@-webkit-keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - transform: none; - } -} - -@keyframes spinner-grow { - 0% { - transform: scale(0); - } - 50% { - opacity: 1; - transform: none; - } -} - -.spinner-grow { - display: inline-block; - width: 2rem; - height: 2rem; - vertical-align: text-bottom; - background-color: currentColor; - border-radius: 50%; - opacity: 0; - -webkit-animation: .75s linear infinite spinner-grow; - animation: .75s linear infinite spinner-grow; -} - -.spinner-grow-sm { - width: 1rem; - height: 1rem; -} - -@media (prefers-reduced-motion: reduce) { - .spinner-border, - .spinner-grow { - -webkit-animation-duration: 1.5s; - animation-duration: 1.5s; - } -} - -.align-baseline { - vertical-align: baseline !important; -} - -.align-top { - vertical-align: top !important; -} - -.align-middle { - vertical-align: middle !important; -} - -.align-bottom { - vertical-align: bottom !important; -} - -.align-text-bottom { - vertical-align: text-bottom !important; -} - -.align-text-top { - vertical-align: text-top !important; -} - -.bg-primary { - background-color: #007bff !important; -} - -a.bg-primary:hover, a.bg-primary:focus, -button.bg-primary:hover, -button.bg-primary:focus { - background-color: #0062cc !important; -} - -.bg-secondary { - background-color: #6c757d !important; -} - -a.bg-secondary:hover, a.bg-secondary:focus, -button.bg-secondary:hover, -button.bg-secondary:focus { - background-color: #545b62 !important; -} - -.bg-success { - background-color: #28a745 !important; -} - -a.bg-success:hover, a.bg-success:focus, -button.bg-success:hover, -button.bg-success:focus { - background-color: #1e7e34 !important; -} - -.bg-info { - background-color: #17a2b8 !important; -} - -a.bg-info:hover, a.bg-info:focus, -button.bg-info:hover, -button.bg-info:focus { - background-color: #117a8b !important; -} - -.bg-warning { - background-color: #ffc107 !important; -} - -a.bg-warning:hover, a.bg-warning:focus, -button.bg-warning:hover, -button.bg-warning:focus { - background-color: #d39e00 !important; -} - -.bg-danger { - background-color: #dc3545 !important; -} - -a.bg-danger:hover, a.bg-danger:focus, -button.bg-danger:hover, -button.bg-danger:focus { - background-color: #bd2130 !important; -} - -.bg-light { - background-color: #f8f9fa !important; -} - -a.bg-light:hover, a.bg-light:focus, -button.bg-light:hover, -button.bg-light:focus { - background-color: #dae0e5 !important; -} - -.bg-dark { - background-color: #343a40 !important; -} - -a.bg-dark:hover, a.bg-dark:focus, -button.bg-dark:hover, -button.bg-dark:focus { - background-color: #1d2124 !important; -} - -.bg-white { - background-color: #fff !important; -} - -.bg-transparent { - background-color: transparent !important; -} - -.border { - border: 1px solid #dee2e6 !important; -} - -.border-top { - border-top: 1px solid #dee2e6 !important; -} - -.border-right { - border-right: 1px solid #dee2e6 !important; -} - -.border-bottom { - border-bottom: 1px solid #dee2e6 !important; -} - -.border-left { - border-left: 1px solid #dee2e6 !important; -} - -.border-0 { - border: 0 !important; -} - -.border-top-0 { - border-top: 0 !important; -} - -.border-right-0 { - border-right: 0 !important; -} - -.border-bottom-0 { - border-bottom: 0 !important; -} - -.border-left-0 { - border-left: 0 !important; -} - -.border-primary { - border-color: #007bff !important; -} - -.border-secondary { - border-color: #6c757d !important; -} - -.border-success { - border-color: #28a745 !important; -} - -.border-info { - border-color: #17a2b8 !important; -} - -.border-warning { - border-color: #ffc107 !important; -} - -.border-danger { - border-color: #dc3545 !important; -} - -.border-light { - border-color: #f8f9fa !important; -} - -.border-dark { - border-color: #343a40 !important; -} - -.border-white { - border-color: #fff !important; -} - -.rounded-sm { - border-radius: 0.2rem !important; -} - -.rounded { - border-radius: 0.25rem !important; -} - -.rounded-top { - border-top-left-radius: 0.25rem !important; - border-top-right-radius: 0.25rem !important; -} - -.rounded-right { - border-top-right-radius: 0.25rem !important; - border-bottom-right-radius: 0.25rem !important; -} - -.rounded-bottom { - border-bottom-right-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-left { - border-top-left-radius: 0.25rem !important; - border-bottom-left-radius: 0.25rem !important; -} - -.rounded-lg { - border-radius: 0.3rem !important; -} - -.rounded-circle { - border-radius: 50% !important; -} - -.rounded-pill { - border-radius: 50rem !important; -} - -.rounded-0 { - border-radius: 0 !important; -} - -.clearfix::after { - display: block; - clear: both; - content: ""; -} - -.d-none { - display: none !important; -} - -.d-inline { - display: inline !important; -} - -.d-inline-block { - display: inline-block !important; -} - -.d-block { - display: block !important; -} - -.d-table { - display: table !important; -} - -.d-table-row { - display: table-row !important; -} - -.d-table-cell { - display: table-cell !important; -} - -.d-flex { - display: flex !important; -} - -.d-inline-flex { - display: inline-flex !important; -} - -@media (min-width: 576px) { - .d-sm-none { - display: none !important; - } - .d-sm-inline { - display: inline !important; - } - .d-sm-inline-block { - display: inline-block !important; - } - .d-sm-block { - display: block !important; - } - .d-sm-table { - display: table !important; - } - .d-sm-table-row { - display: table-row !important; - } - .d-sm-table-cell { - display: table-cell !important; - } - .d-sm-flex { - display: flex !important; - } - .d-sm-inline-flex { - display: inline-flex !important; - } -} - -@media (min-width: 768px) { - .d-md-none { - display: none !important; - } - .d-md-inline { - display: inline !important; - } - .d-md-inline-block { - display: inline-block !important; - } - .d-md-block { - display: block !important; - } - .d-md-table { - display: table !important; - } - .d-md-table-row { - display: table-row !important; - } - .d-md-table-cell { - display: table-cell !important; - } - .d-md-flex { - display: flex !important; - } - .d-md-inline-flex { - display: inline-flex !important; - } -} - -@media (min-width: 992px) { - .d-lg-none { - display: none !important; - } - .d-lg-inline { - display: inline !important; - } - .d-lg-inline-block { - display: inline-block !important; - } - .d-lg-block { - display: block !important; - } - .d-lg-table { - display: table !important; - } - .d-lg-table-row { - display: table-row !important; - } - .d-lg-table-cell { - display: table-cell !important; - } - .d-lg-flex { - display: flex !important; - } - .d-lg-inline-flex { - display: inline-flex !important; - } -} - -@media (min-width: 1200px) { - .d-xl-none { - display: none !important; - } - .d-xl-inline { - display: inline !important; - } - .d-xl-inline-block { - display: inline-block !important; - } - .d-xl-block { - display: block !important; - } - .d-xl-table { - display: table !important; - } - .d-xl-table-row { - display: table-row !important; - } - .d-xl-table-cell { - display: table-cell !important; - } - .d-xl-flex { - display: flex !important; - } - .d-xl-inline-flex { - display: inline-flex !important; - } -} - -@media print { - .d-print-none { - display: none !important; - } - .d-print-inline { - display: inline !important; - } - .d-print-inline-block { - display: inline-block !important; - } - .d-print-block { - display: block !important; - } - .d-print-table { - display: table !important; - } - .d-print-table-row { - display: table-row !important; - } - .d-print-table-cell { - display: table-cell !important; - } - .d-print-flex { - display: flex !important; - } - .d-print-inline-flex { - display: inline-flex !important; - } -} - -.embed-responsive { - position: relative; - display: block; - width: 100%; - padding: 0; - overflow: hidden; -} - -.embed-responsive::before { - display: block; - content: ""; -} - -.embed-responsive .embed-responsive-item, -.embed-responsive iframe, -.embed-responsive embed, -.embed-responsive object, -.embed-responsive video { - position: absolute; - top: 0; - bottom: 0; - left: 0; - width: 100%; - height: 100%; - border: 0; -} - -.embed-responsive-21by9::before { - padding-top: 42.857143%; -} - -.embed-responsive-16by9::before { - padding-top: 56.25%; -} - -.embed-responsive-4by3::before { - padding-top: 75%; -} - -.embed-responsive-1by1::before { - padding-top: 100%; -} - -.flex-row { - flex-direction: row !important; -} - -.flex-column { - flex-direction: column !important; -} - -.flex-row-reverse { - flex-direction: row-reverse !important; -} - -.flex-column-reverse { - flex-direction: column-reverse !important; -} - -.flex-wrap { - flex-wrap: wrap !important; -} - -.flex-nowrap { - flex-wrap: nowrap !important; -} - -.flex-wrap-reverse { - flex-wrap: wrap-reverse !important; -} - -.flex-fill { - flex: 1 1 auto !important; -} - -.flex-grow-0 { - flex-grow: 0 !important; -} - -.flex-grow-1 { - flex-grow: 1 !important; -} - -.flex-shrink-0 { - flex-shrink: 0 !important; -} - -.flex-shrink-1 { - flex-shrink: 1 !important; -} - -.justify-content-start { - justify-content: flex-start !important; -} - -.justify-content-end { - justify-content: flex-end !important; -} - -.justify-content-center { - justify-content: center !important; -} - -.justify-content-between { - justify-content: space-between !important; -} - -.justify-content-around { - justify-content: space-around !important; -} - -.align-items-start { - align-items: flex-start !important; -} - -.align-items-end { - align-items: flex-end !important; -} - -.align-items-center { - align-items: center !important; -} - -.align-items-baseline { - align-items: baseline !important; -} - -.align-items-stretch { - align-items: stretch !important; -} - -.align-content-start { - align-content: flex-start !important; -} - -.align-content-end { - align-content: flex-end !important; -} - -.align-content-center { - align-content: center !important; -} - -.align-content-between { - align-content: space-between !important; -} - -.align-content-around { - align-content: space-around !important; -} - -.align-content-stretch { - align-content: stretch !important; -} - -.align-self-auto { - align-self: auto !important; -} - -.align-self-start { - align-self: flex-start !important; -} - -.align-self-end { - align-self: flex-end !important; -} - -.align-self-center { - align-self: center !important; -} - -.align-self-baseline { - align-self: baseline !important; -} - -.align-self-stretch { - align-self: stretch !important; -} - -@media (min-width: 576px) { - .flex-sm-row { - flex-direction: row !important; - } - .flex-sm-column { - flex-direction: column !important; - } - .flex-sm-row-reverse { - flex-direction: row-reverse !important; - } - .flex-sm-column-reverse { - flex-direction: column-reverse !important; - } - .flex-sm-wrap { - flex-wrap: wrap !important; - } - .flex-sm-nowrap { - flex-wrap: nowrap !important; - } - .flex-sm-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .flex-sm-fill { - flex: 1 1 auto !important; - } - .flex-sm-grow-0 { - flex-grow: 0 !important; - } - .flex-sm-grow-1 { - flex-grow: 1 !important; - } - .flex-sm-shrink-0 { - flex-shrink: 0 !important; - } - .flex-sm-shrink-1 { - flex-shrink: 1 !important; - } - .justify-content-sm-start { - justify-content: flex-start !important; - } - .justify-content-sm-end { - justify-content: flex-end !important; - } - .justify-content-sm-center { - justify-content: center !important; - } - .justify-content-sm-between { - justify-content: space-between !important; - } - .justify-content-sm-around { - justify-content: space-around !important; - } - .align-items-sm-start { - align-items: flex-start !important; - } - .align-items-sm-end { - align-items: flex-end !important; - } - .align-items-sm-center { - align-items: center !important; - } - .align-items-sm-baseline { - align-items: baseline !important; - } - .align-items-sm-stretch { - align-items: stretch !important; - } - .align-content-sm-start { - align-content: flex-start !important; - } - .align-content-sm-end { - align-content: flex-end !important; - } - .align-content-sm-center { - align-content: center !important; - } - .align-content-sm-between { - align-content: space-between !important; - } - .align-content-sm-around { - align-content: space-around !important; - } - .align-content-sm-stretch { - align-content: stretch !important; - } - .align-self-sm-auto { - align-self: auto !important; - } - .align-self-sm-start { - align-self: flex-start !important; - } - .align-self-sm-end { - align-self: flex-end !important; - } - .align-self-sm-center { - align-self: center !important; - } - .align-self-sm-baseline { - align-self: baseline !important; - } - .align-self-sm-stretch { - align-self: stretch !important; - } -} - -@media (min-width: 768px) { - .flex-md-row { - flex-direction: row !important; - } - .flex-md-column { - flex-direction: column !important; - } - .flex-md-row-reverse { - flex-direction: row-reverse !important; - } - .flex-md-column-reverse { - flex-direction: column-reverse !important; - } - .flex-md-wrap { - flex-wrap: wrap !important; - } - .flex-md-nowrap { - flex-wrap: nowrap !important; - } - .flex-md-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .flex-md-fill { - flex: 1 1 auto !important; - } - .flex-md-grow-0 { - flex-grow: 0 !important; - } - .flex-md-grow-1 { - flex-grow: 1 !important; - } - .flex-md-shrink-0 { - flex-shrink: 0 !important; - } - .flex-md-shrink-1 { - flex-shrink: 1 !important; - } - .justify-content-md-start { - justify-content: flex-start !important; - } - .justify-content-md-end { - justify-content: flex-end !important; - } - .justify-content-md-center { - justify-content: center !important; - } - .justify-content-md-between { - justify-content: space-between !important; - } - .justify-content-md-around { - justify-content: space-around !important; - } - .align-items-md-start { - align-items: flex-start !important; - } - .align-items-md-end { - align-items: flex-end !important; - } - .align-items-md-center { - align-items: center !important; - } - .align-items-md-baseline { - align-items: baseline !important; - } - .align-items-md-stretch { - align-items: stretch !important; - } - .align-content-md-start { - align-content: flex-start !important; - } - .align-content-md-end { - align-content: flex-end !important; - } - .align-content-md-center { - align-content: center !important; - } - .align-content-md-between { - align-content: space-between !important; - } - .align-content-md-around { - align-content: space-around !important; - } - .align-content-md-stretch { - align-content: stretch !important; - } - .align-self-md-auto { - align-self: auto !important; - } - .align-self-md-start { - align-self: flex-start !important; - } - .align-self-md-end { - align-self: flex-end !important; - } - .align-self-md-center { - align-self: center !important; - } - .align-self-md-baseline { - align-self: baseline !important; - } - .align-self-md-stretch { - align-self: stretch !important; - } -} - -@media (min-width: 992px) { - .flex-lg-row { - flex-direction: row !important; - } - .flex-lg-column { - flex-direction: column !important; - } - .flex-lg-row-reverse { - flex-direction: row-reverse !important; - } - .flex-lg-column-reverse { - flex-direction: column-reverse !important; - } - .flex-lg-wrap { - flex-wrap: wrap !important; - } - .flex-lg-nowrap { - flex-wrap: nowrap !important; - } - .flex-lg-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .flex-lg-fill { - flex: 1 1 auto !important; - } - .flex-lg-grow-0 { - flex-grow: 0 !important; - } - .flex-lg-grow-1 { - flex-grow: 1 !important; - } - .flex-lg-shrink-0 { - flex-shrink: 0 !important; - } - .flex-lg-shrink-1 { - flex-shrink: 1 !important; - } - .justify-content-lg-start { - justify-content: flex-start !important; - } - .justify-content-lg-end { - justify-content: flex-end !important; - } - .justify-content-lg-center { - justify-content: center !important; - } - .justify-content-lg-between { - justify-content: space-between !important; - } - .justify-content-lg-around { - justify-content: space-around !important; - } - .align-items-lg-start { - align-items: flex-start !important; - } - .align-items-lg-end { - align-items: flex-end !important; - } - .align-items-lg-center { - align-items: center !important; - } - .align-items-lg-baseline { - align-items: baseline !important; - } - .align-items-lg-stretch { - align-items: stretch !important; - } - .align-content-lg-start { - align-content: flex-start !important; - } - .align-content-lg-end { - align-content: flex-end !important; - } - .align-content-lg-center { - align-content: center !important; - } - .align-content-lg-between { - align-content: space-between !important; - } - .align-content-lg-around { - align-content: space-around !important; - } - .align-content-lg-stretch { - align-content: stretch !important; - } - .align-self-lg-auto { - align-self: auto !important; - } - .align-self-lg-start { - align-self: flex-start !important; - } - .align-self-lg-end { - align-self: flex-end !important; - } - .align-self-lg-center { - align-self: center !important; - } - .align-self-lg-baseline { - align-self: baseline !important; - } - .align-self-lg-stretch { - align-self: stretch !important; - } -} - -@media (min-width: 1200px) { - .flex-xl-row { - flex-direction: row !important; - } - .flex-xl-column { - flex-direction: column !important; - } - .flex-xl-row-reverse { - flex-direction: row-reverse !important; - } - .flex-xl-column-reverse { - flex-direction: column-reverse !important; - } - .flex-xl-wrap { - flex-wrap: wrap !important; - } - .flex-xl-nowrap { - flex-wrap: nowrap !important; - } - .flex-xl-wrap-reverse { - flex-wrap: wrap-reverse !important; - } - .flex-xl-fill { - flex: 1 1 auto !important; - } - .flex-xl-grow-0 { - flex-grow: 0 !important; - } - .flex-xl-grow-1 { - flex-grow: 1 !important; - } - .flex-xl-shrink-0 { - flex-shrink: 0 !important; - } - .flex-xl-shrink-1 { - flex-shrink: 1 !important; - } - .justify-content-xl-start { - justify-content: flex-start !important; - } - .justify-content-xl-end { - justify-content: flex-end !important; - } - .justify-content-xl-center { - justify-content: center !important; - } - .justify-content-xl-between { - justify-content: space-between !important; - } - .justify-content-xl-around { - justify-content: space-around !important; - } - .align-items-xl-start { - align-items: flex-start !important; - } - .align-items-xl-end { - align-items: flex-end !important; - } - .align-items-xl-center { - align-items: center !important; - } - .align-items-xl-baseline { - align-items: baseline !important; - } - .align-items-xl-stretch { - align-items: stretch !important; - } - .align-content-xl-start { - align-content: flex-start !important; - } - .align-content-xl-end { - align-content: flex-end !important; - } - .align-content-xl-center { - align-content: center !important; - } - .align-content-xl-between { - align-content: space-between !important; - } - .align-content-xl-around { - align-content: space-around !important; - } - .align-content-xl-stretch { - align-content: stretch !important; - } - .align-self-xl-auto { - align-self: auto !important; - } - .align-self-xl-start { - align-self: flex-start !important; - } - .align-self-xl-end { - align-self: flex-end !important; - } - .align-self-xl-center { - align-self: center !important; - } - .align-self-xl-baseline { - align-self: baseline !important; - } - .align-self-xl-stretch { - align-self: stretch !important; - } -} - -.float-left { - float: left !important; -} - -.float-right { - float: right !important; -} - -.float-none { - float: none !important; -} - -@media (min-width: 576px) { - .float-sm-left { - float: left !important; - } - .float-sm-right { - float: right !important; - } - .float-sm-none { - float: none !important; - } -} - -@media (min-width: 768px) { - .float-md-left { - float: left !important; - } - .float-md-right { - float: right !important; - } - .float-md-none { - float: none !important; - } -} - -@media (min-width: 992px) { - .float-lg-left { - float: left !important; - } - .float-lg-right { - float: right !important; - } - .float-lg-none { - float: none !important; - } -} - -@media (min-width: 1200px) { - .float-xl-left { - float: left !important; - } - .float-xl-right { - float: right !important; - } - .float-xl-none { - float: none !important; - } -} - -.user-select-all { - -webkit-user-select: all !important; - -moz-user-select: all !important; - user-select: all !important; -} - -.user-select-auto { - -webkit-user-select: auto !important; - -moz-user-select: auto !important; - -ms-user-select: auto !important; - user-select: auto !important; -} - -.user-select-none { - -webkit-user-select: none !important; - -moz-user-select: none !important; - -ms-user-select: none !important; - user-select: none !important; -} - -.overflow-auto { - overflow: auto !important; -} - -.overflow-hidden { - overflow: hidden !important; -} - -.position-static { - position: static !important; -} - -.position-relative { - position: relative !important; -} - -.position-absolute { - position: absolute !important; -} - -.position-fixed { - position: fixed !important; -} - -.position-sticky { - position: -webkit-sticky !important; - position: sticky !important; -} - -.fixed-top { - position: fixed; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.fixed-bottom { - position: fixed; - right: 0; - bottom: 0; - left: 0; - z-index: 1030; -} - -@supports ((position: -webkit-sticky) or (position: sticky)) { - .sticky-top { - position: -webkit-sticky; - position: sticky; - top: 0; - z-index: 1020; - } -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border: 0; -} - -.sr-only-focusable:active, .sr-only-focusable:focus { - position: static; - width: auto; - height: auto; - overflow: visible; - clip: auto; - white-space: normal; -} - -.shadow-sm { - box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important; -} - -.shadow { - box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important; -} - -.shadow-lg { - box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important; -} - -.shadow-none { - box-shadow: none !important; -} - -.w-25 { - width: 25% !important; -} - -.w-50 { - width: 50% !important; -} - -.w-75 { - width: 75% !important; -} - -.w-100 { - width: 100% !important; -} - -.w-auto { - width: auto !important; -} - -.h-25 { - height: 25% !important; -} - -.h-50 { - height: 50% !important; -} - -.h-75 { - height: 75% !important; -} - -.h-100 { - height: 100% !important; -} - -.h-auto { - height: auto !important; -} - -.mw-100 { - max-width: 100% !important; -} - -.mh-100 { - max-height: 100% !important; -} - -.min-vw-100 { - min-width: 100vw !important; -} - -.min-vh-100 { - min-height: 100vh !important; -} - -.vw-100 { - width: 100vw !important; -} - -.vh-100 { - height: 100vh !important; -} - -.m-0 { - margin: 0 !important; -} - -.mt-0, -.my-0 { - margin-top: 0 !important; -} - -.mr-0, -.mx-0 { - margin-right: 0 !important; -} - -.mb-0, -.my-0 { - margin-bottom: 0 !important; -} - -.ml-0, -.mx-0 { - margin-left: 0 !important; -} - -.m-1 { - margin: 0.25rem !important; -} - -.mt-1, -.my-1 { - margin-top: 0.25rem !important; -} - -.mr-1, -.mx-1 { - margin-right: 0.25rem !important; -} - -.mb-1, -.my-1 { - margin-bottom: 0.25rem !important; -} - -.ml-1, -.mx-1 { - margin-left: 0.25rem !important; -} - -.m-2 { - margin: 0.5rem !important; -} - -.mt-2, -.my-2 { - margin-top: 0.5rem !important; -} - -.mr-2, -.mx-2 { - margin-right: 0.5rem !important; -} - -.mb-2, -.my-2 { - margin-bottom: 0.5rem !important; -} - -.ml-2, -.mx-2 { - margin-left: 0.5rem !important; -} - -.m-3 { - margin: 1rem !important; -} - -.mt-3, -.my-3 { - margin-top: 1rem !important; -} - -.mr-3, -.mx-3 { - margin-right: 1rem !important; -} - -.mb-3, -.my-3 { - margin-bottom: 1rem !important; -} - -.ml-3, -.mx-3 { - margin-left: 1rem !important; -} - -.m-4 { - margin: 1.5rem !important; -} - -.mt-4, -.my-4 { - margin-top: 1.5rem !important; -} - -.mr-4, -.mx-4 { - margin-right: 1.5rem !important; -} - -.mb-4, -.my-4 { - margin-bottom: 1.5rem !important; -} - -.ml-4, -.mx-4 { - margin-left: 1.5rem !important; -} - -.m-5 { - margin: 3rem !important; -} - -.mt-5, -.my-5 { - margin-top: 3rem !important; -} - -.mr-5, -.mx-5 { - margin-right: 3rem !important; -} - -.mb-5, -.my-5 { - margin-bottom: 3rem !important; -} - -.ml-5, -.mx-5 { - margin-left: 3rem !important; -} - -.p-0 { - padding: 0 !important; -} - -.pt-0, -.py-0 { - padding-top: 0 !important; -} - -.pr-0, -.px-0 { - padding-right: 0 !important; -} - -.pb-0, -.py-0 { - padding-bottom: 0 !important; -} - -.pl-0, -.px-0 { - padding-left: 0 !important; -} - -.p-1 { - padding: 0.25rem !important; -} - -.pt-1, -.py-1 { - padding-top: 0.25rem !important; -} - -.pr-1, -.px-1 { - padding-right: 0.25rem !important; -} - -.pb-1, -.py-1 { - padding-bottom: 0.25rem !important; -} - -.pl-1, -.px-1 { - padding-left: 0.25rem !important; -} - -.p-2 { - padding: 0.5rem !important; -} - -.pt-2, -.py-2 { - padding-top: 0.5rem !important; -} - -.pr-2, -.px-2 { - padding-right: 0.5rem !important; -} - -.pb-2, -.py-2 { - padding-bottom: 0.5rem !important; -} - -.pl-2, -.px-2 { - padding-left: 0.5rem !important; -} - -.p-3 { - padding: 1rem !important; -} - -.pt-3, -.py-3 { - padding-top: 1rem !important; -} - -.pr-3, -.px-3 { - padding-right: 1rem !important; -} - -.pb-3, -.py-3 { - padding-bottom: 1rem !important; -} - -.pl-3, -.px-3 { - padding-left: 1rem !important; -} - -.p-4 { - padding: 1.5rem !important; -} - -.pt-4, -.py-4 { - padding-top: 1.5rem !important; -} - -.pr-4, -.px-4 { - padding-right: 1.5rem !important; -} - -.pb-4, -.py-4 { - padding-bottom: 1.5rem !important; -} - -.pl-4, -.px-4 { - padding-left: 1.5rem !important; -} - -.p-5 { - padding: 3rem !important; -} - -.pt-5, -.py-5 { - padding-top: 3rem !important; -} - -.pr-5, -.px-5 { - padding-right: 3rem !important; -} - -.pb-5, -.py-5 { - padding-bottom: 3rem !important; -} - -.pl-5, -.px-5 { - padding-left: 3rem !important; -} - -.m-n1 { - margin: -0.25rem !important; -} - -.mt-n1, -.my-n1 { - margin-top: -0.25rem !important; -} - -.mr-n1, -.mx-n1 { - margin-right: -0.25rem !important; -} - -.mb-n1, -.my-n1 { - margin-bottom: -0.25rem !important; -} - -.ml-n1, -.mx-n1 { - margin-left: -0.25rem !important; -} - -.m-n2 { - margin: -0.5rem !important; -} - -.mt-n2, -.my-n2 { - margin-top: -0.5rem !important; -} - -.mr-n2, -.mx-n2 { - margin-right: -0.5rem !important; -} - -.mb-n2, -.my-n2 { - margin-bottom: -0.5rem !important; -} - -.ml-n2, -.mx-n2 { - margin-left: -0.5rem !important; -} - -.m-n3 { - margin: -1rem !important; -} - -.mt-n3, -.my-n3 { - margin-top: -1rem !important; -} - -.mr-n3, -.mx-n3 { - margin-right: -1rem !important; -} - -.mb-n3, -.my-n3 { - margin-bottom: -1rem !important; -} - -.ml-n3, -.mx-n3 { - margin-left: -1rem !important; -} - -.m-n4 { - margin: -1.5rem !important; -} - -.mt-n4, -.my-n4 { - margin-top: -1.5rem !important; -} - -.mr-n4, -.mx-n4 { - margin-right: -1.5rem !important; -} - -.mb-n4, -.my-n4 { - margin-bottom: -1.5rem !important; -} - -.ml-n4, -.mx-n4 { - margin-left: -1.5rem !important; -} - -.m-n5 { - margin: -3rem !important; -} - -.mt-n5, -.my-n5 { - margin-top: -3rem !important; -} - -.mr-n5, -.mx-n5 { - margin-right: -3rem !important; -} - -.mb-n5, -.my-n5 { - margin-bottom: -3rem !important; -} - -.ml-n5, -.mx-n5 { - margin-left: -3rem !important; -} - -.m-auto { - margin: auto !important; -} - -.mt-auto, -.my-auto { - margin-top: auto !important; -} - -.mr-auto, -.mx-auto { - margin-right: auto !important; -} - -.mb-auto, -.my-auto { - margin-bottom: auto !important; -} - -.ml-auto, -.mx-auto { - margin-left: auto !important; -} - -@media (min-width: 576px) { - .m-sm-0 { - margin: 0 !important; - } - .mt-sm-0, - .my-sm-0 { - margin-top: 0 !important; - } - .mr-sm-0, - .mx-sm-0 { - margin-right: 0 !important; - } - .mb-sm-0, - .my-sm-0 { - margin-bottom: 0 !important; - } - .ml-sm-0, - .mx-sm-0 { - margin-left: 0 !important; - } - .m-sm-1 { - margin: 0.25rem !important; - } - .mt-sm-1, - .my-sm-1 { - margin-top: 0.25rem !important; - } - .mr-sm-1, - .mx-sm-1 { - margin-right: 0.25rem !important; - } - .mb-sm-1, - .my-sm-1 { - margin-bottom: 0.25rem !important; - } - .ml-sm-1, - .mx-sm-1 { - margin-left: 0.25rem !important; - } - .m-sm-2 { - margin: 0.5rem !important; - } - .mt-sm-2, - .my-sm-2 { - margin-top: 0.5rem !important; - } - .mr-sm-2, - .mx-sm-2 { - margin-right: 0.5rem !important; - } - .mb-sm-2, - .my-sm-2 { - margin-bottom: 0.5rem !important; - } - .ml-sm-2, - .mx-sm-2 { - margin-left: 0.5rem !important; - } - .m-sm-3 { - margin: 1rem !important; - } - .mt-sm-3, - .my-sm-3 { - margin-top: 1rem !important; - } - .mr-sm-3, - .mx-sm-3 { - margin-right: 1rem !important; - } - .mb-sm-3, - .my-sm-3 { - margin-bottom: 1rem !important; - } - .ml-sm-3, - .mx-sm-3 { - margin-left: 1rem !important; - } - .m-sm-4 { - margin: 1.5rem !important; - } - .mt-sm-4, - .my-sm-4 { - margin-top: 1.5rem !important; - } - .mr-sm-4, - .mx-sm-4 { - margin-right: 1.5rem !important; - } - .mb-sm-4, - .my-sm-4 { - margin-bottom: 1.5rem !important; - } - .ml-sm-4, - .mx-sm-4 { - margin-left: 1.5rem !important; - } - .m-sm-5 { - margin: 3rem !important; - } - .mt-sm-5, - .my-sm-5 { - margin-top: 3rem !important; - } - .mr-sm-5, - .mx-sm-5 { - margin-right: 3rem !important; - } - .mb-sm-5, - .my-sm-5 { - margin-bottom: 3rem !important; - } - .ml-sm-5, - .mx-sm-5 { - margin-left: 3rem !important; - } - .p-sm-0 { - padding: 0 !important; - } - .pt-sm-0, - .py-sm-0 { - padding-top: 0 !important; - } - .pr-sm-0, - .px-sm-0 { - padding-right: 0 !important; - } - .pb-sm-0, - .py-sm-0 { - padding-bottom: 0 !important; - } - .pl-sm-0, - .px-sm-0 { - padding-left: 0 !important; - } - .p-sm-1 { - padding: 0.25rem !important; - } - .pt-sm-1, - .py-sm-1 { - padding-top: 0.25rem !important; - } - .pr-sm-1, - .px-sm-1 { - padding-right: 0.25rem !important; - } - .pb-sm-1, - .py-sm-1 { - padding-bottom: 0.25rem !important; - } - .pl-sm-1, - .px-sm-1 { - padding-left: 0.25rem !important; - } - .p-sm-2 { - padding: 0.5rem !important; - } - .pt-sm-2, - .py-sm-2 { - padding-top: 0.5rem !important; - } - .pr-sm-2, - .px-sm-2 { - padding-right: 0.5rem !important; - } - .pb-sm-2, - .py-sm-2 { - padding-bottom: 0.5rem !important; - } - .pl-sm-2, - .px-sm-2 { - padding-left: 0.5rem !important; - } - .p-sm-3 { - padding: 1rem !important; - } - .pt-sm-3, - .py-sm-3 { - padding-top: 1rem !important; - } - .pr-sm-3, - .px-sm-3 { - padding-right: 1rem !important; - } - .pb-sm-3, - .py-sm-3 { - padding-bottom: 1rem !important; - } - .pl-sm-3, - .px-sm-3 { - padding-left: 1rem !important; - } - .p-sm-4 { - padding: 1.5rem !important; - } - .pt-sm-4, - .py-sm-4 { - padding-top: 1.5rem !important; - } - .pr-sm-4, - .px-sm-4 { - padding-right: 1.5rem !important; - } - .pb-sm-4, - .py-sm-4 { - padding-bottom: 1.5rem !important; - } - .pl-sm-4, - .px-sm-4 { - padding-left: 1.5rem !important; - } - .p-sm-5 { - padding: 3rem !important; - } - .pt-sm-5, - .py-sm-5 { - padding-top: 3rem !important; - } - .pr-sm-5, - .px-sm-5 { - padding-right: 3rem !important; - } - .pb-sm-5, - .py-sm-5 { - padding-bottom: 3rem !important; - } - .pl-sm-5, - .px-sm-5 { - padding-left: 3rem !important; - } - .m-sm-n1 { - margin: -0.25rem !important; - } - .mt-sm-n1, - .my-sm-n1 { - margin-top: -0.25rem !important; - } - .mr-sm-n1, - .mx-sm-n1 { - margin-right: -0.25rem !important; - } - .mb-sm-n1, - .my-sm-n1 { - margin-bottom: -0.25rem !important; - } - .ml-sm-n1, - .mx-sm-n1 { - margin-left: -0.25rem !important; - } - .m-sm-n2 { - margin: -0.5rem !important; - } - .mt-sm-n2, - .my-sm-n2 { - margin-top: -0.5rem !important; - } - .mr-sm-n2, - .mx-sm-n2 { - margin-right: -0.5rem !important; - } - .mb-sm-n2, - .my-sm-n2 { - margin-bottom: -0.5rem !important; - } - .ml-sm-n2, - .mx-sm-n2 { - margin-left: -0.5rem !important; - } - .m-sm-n3 { - margin: -1rem !important; - } - .mt-sm-n3, - .my-sm-n3 { - margin-top: -1rem !important; - } - .mr-sm-n3, - .mx-sm-n3 { - margin-right: -1rem !important; - } - .mb-sm-n3, - .my-sm-n3 { - margin-bottom: -1rem !important; - } - .ml-sm-n3, - .mx-sm-n3 { - margin-left: -1rem !important; - } - .m-sm-n4 { - margin: -1.5rem !important; - } - .mt-sm-n4, - .my-sm-n4 { - margin-top: -1.5rem !important; - } - .mr-sm-n4, - .mx-sm-n4 { - margin-right: -1.5rem !important; - } - .mb-sm-n4, - .my-sm-n4 { - margin-bottom: -1.5rem !important; - } - .ml-sm-n4, - .mx-sm-n4 { - margin-left: -1.5rem !important; - } - .m-sm-n5 { - margin: -3rem !important; - } - .mt-sm-n5, - .my-sm-n5 { - margin-top: -3rem !important; - } - .mr-sm-n5, - .mx-sm-n5 { - margin-right: -3rem !important; - } - .mb-sm-n5, - .my-sm-n5 { - margin-bottom: -3rem !important; - } - .ml-sm-n5, - .mx-sm-n5 { - margin-left: -3rem !important; - } - .m-sm-auto { - margin: auto !important; - } - .mt-sm-auto, - .my-sm-auto { - margin-top: auto !important; - } - .mr-sm-auto, - .mx-sm-auto { - margin-right: auto !important; - } - .mb-sm-auto, - .my-sm-auto { - margin-bottom: auto !important; - } - .ml-sm-auto, - .mx-sm-auto { - margin-left: auto !important; - } -} - -@media (min-width: 768px) { - .m-md-0 { - margin: 0 !important; - } - .mt-md-0, - .my-md-0 { - margin-top: 0 !important; - } - .mr-md-0, - .mx-md-0 { - margin-right: 0 !important; - } - .mb-md-0, - .my-md-0 { - margin-bottom: 0 !important; - } - .ml-md-0, - .mx-md-0 { - margin-left: 0 !important; - } - .m-md-1 { - margin: 0.25rem !important; - } - .mt-md-1, - .my-md-1 { - margin-top: 0.25rem !important; - } - .mr-md-1, - .mx-md-1 { - margin-right: 0.25rem !important; - } - .mb-md-1, - .my-md-1 { - margin-bottom: 0.25rem !important; - } - .ml-md-1, - .mx-md-1 { - margin-left: 0.25rem !important; - } - .m-md-2 { - margin: 0.5rem !important; - } - .mt-md-2, - .my-md-2 { - margin-top: 0.5rem !important; - } - .mr-md-2, - .mx-md-2 { - margin-right: 0.5rem !important; - } - .mb-md-2, - .my-md-2 { - margin-bottom: 0.5rem !important; - } - .ml-md-2, - .mx-md-2 { - margin-left: 0.5rem !important; - } - .m-md-3 { - margin: 1rem !important; - } - .mt-md-3, - .my-md-3 { - margin-top: 1rem !important; - } - .mr-md-3, - .mx-md-3 { - margin-right: 1rem !important; - } - .mb-md-3, - .my-md-3 { - margin-bottom: 1rem !important; - } - .ml-md-3, - .mx-md-3 { - margin-left: 1rem !important; - } - .m-md-4 { - margin: 1.5rem !important; - } - .mt-md-4, - .my-md-4 { - margin-top: 1.5rem !important; - } - .mr-md-4, - .mx-md-4 { - margin-right: 1.5rem !important; - } - .mb-md-4, - .my-md-4 { - margin-bottom: 1.5rem !important; - } - .ml-md-4, - .mx-md-4 { - margin-left: 1.5rem !important; - } - .m-md-5 { - margin: 3rem !important; - } - .mt-md-5, - .my-md-5 { - margin-top: 3rem !important; - } - .mr-md-5, - .mx-md-5 { - margin-right: 3rem !important; - } - .mb-md-5, - .my-md-5 { - margin-bottom: 3rem !important; - } - .ml-md-5, - .mx-md-5 { - margin-left: 3rem !important; - } - .p-md-0 { - padding: 0 !important; - } - .pt-md-0, - .py-md-0 { - padding-top: 0 !important; - } - .pr-md-0, - .px-md-0 { - padding-right: 0 !important; - } - .pb-md-0, - .py-md-0 { - padding-bottom: 0 !important; - } - .pl-md-0, - .px-md-0 { - padding-left: 0 !important; - } - .p-md-1 { - padding: 0.25rem !important; - } - .pt-md-1, - .py-md-1 { - padding-top: 0.25rem !important; - } - .pr-md-1, - .px-md-1 { - padding-right: 0.25rem !important; - } - .pb-md-1, - .py-md-1 { - padding-bottom: 0.25rem !important; - } - .pl-md-1, - .px-md-1 { - padding-left: 0.25rem !important; - } - .p-md-2 { - padding: 0.5rem !important; - } - .pt-md-2, - .py-md-2 { - padding-top: 0.5rem !important; - } - .pr-md-2, - .px-md-2 { - padding-right: 0.5rem !important; - } - .pb-md-2, - .py-md-2 { - padding-bottom: 0.5rem !important; - } - .pl-md-2, - .px-md-2 { - padding-left: 0.5rem !important; - } - .p-md-3 { - padding: 1rem !important; - } - .pt-md-3, - .py-md-3 { - padding-top: 1rem !important; - } - .pr-md-3, - .px-md-3 { - padding-right: 1rem !important; - } - .pb-md-3, - .py-md-3 { - padding-bottom: 1rem !important; - } - .pl-md-3, - .px-md-3 { - padding-left: 1rem !important; - } - .p-md-4 { - padding: 1.5rem !important; - } - .pt-md-4, - .py-md-4 { - padding-top: 1.5rem !important; - } - .pr-md-4, - .px-md-4 { - padding-right: 1.5rem !important; - } - .pb-md-4, - .py-md-4 { - padding-bottom: 1.5rem !important; - } - .pl-md-4, - .px-md-4 { - padding-left: 1.5rem !important; - } - .p-md-5 { - padding: 3rem !important; - } - .pt-md-5, - .py-md-5 { - padding-top: 3rem !important; - } - .pr-md-5, - .px-md-5 { - padding-right: 3rem !important; - } - .pb-md-5, - .py-md-5 { - padding-bottom: 3rem !important; - } - .pl-md-5, - .px-md-5 { - padding-left: 3rem !important; - } - .m-md-n1 { - margin: -0.25rem !important; - } - .mt-md-n1, - .my-md-n1 { - margin-top: -0.25rem !important; - } - .mr-md-n1, - .mx-md-n1 { - margin-right: -0.25rem !important; - } - .mb-md-n1, - .my-md-n1 { - margin-bottom: -0.25rem !important; - } - .ml-md-n1, - .mx-md-n1 { - margin-left: -0.25rem !important; - } - .m-md-n2 { - margin: -0.5rem !important; - } - .mt-md-n2, - .my-md-n2 { - margin-top: -0.5rem !important; - } - .mr-md-n2, - .mx-md-n2 { - margin-right: -0.5rem !important; - } - .mb-md-n2, - .my-md-n2 { - margin-bottom: -0.5rem !important; - } - .ml-md-n2, - .mx-md-n2 { - margin-left: -0.5rem !important; - } - .m-md-n3 { - margin: -1rem !important; - } - .mt-md-n3, - .my-md-n3 { - margin-top: -1rem !important; - } - .mr-md-n3, - .mx-md-n3 { - margin-right: -1rem !important; - } - .mb-md-n3, - .my-md-n3 { - margin-bottom: -1rem !important; - } - .ml-md-n3, - .mx-md-n3 { - margin-left: -1rem !important; - } - .m-md-n4 { - margin: -1.5rem !important; - } - .mt-md-n4, - .my-md-n4 { - margin-top: -1.5rem !important; - } - .mr-md-n4, - .mx-md-n4 { - margin-right: -1.5rem !important; - } - .mb-md-n4, - .my-md-n4 { - margin-bottom: -1.5rem !important; - } - .ml-md-n4, - .mx-md-n4 { - margin-left: -1.5rem !important; - } - .m-md-n5 { - margin: -3rem !important; - } - .mt-md-n5, - .my-md-n5 { - margin-top: -3rem !important; - } - .mr-md-n5, - .mx-md-n5 { - margin-right: -3rem !important; - } - .mb-md-n5, - .my-md-n5 { - margin-bottom: -3rem !important; - } - .ml-md-n5, - .mx-md-n5 { - margin-left: -3rem !important; - } - .m-md-auto { - margin: auto !important; - } - .mt-md-auto, - .my-md-auto { - margin-top: auto !important; - } - .mr-md-auto, - .mx-md-auto { - margin-right: auto !important; - } - .mb-md-auto, - .my-md-auto { - margin-bottom: auto !important; - } - .ml-md-auto, - .mx-md-auto { - margin-left: auto !important; - } -} - -@media (min-width: 992px) { - .m-lg-0 { - margin: 0 !important; - } - .mt-lg-0, - .my-lg-0 { - margin-top: 0 !important; - } - .mr-lg-0, - .mx-lg-0 { - margin-right: 0 !important; - } - .mb-lg-0, - .my-lg-0 { - margin-bottom: 0 !important; - } - .ml-lg-0, - .mx-lg-0 { - margin-left: 0 !important; - } - .m-lg-1 { - margin: 0.25rem !important; - } - .mt-lg-1, - .my-lg-1 { - margin-top: 0.25rem !important; - } - .mr-lg-1, - .mx-lg-1 { - margin-right: 0.25rem !important; - } - .mb-lg-1, - .my-lg-1 { - margin-bottom: 0.25rem !important; - } - .ml-lg-1, - .mx-lg-1 { - margin-left: 0.25rem !important; - } - .m-lg-2 { - margin: 0.5rem !important; - } - .mt-lg-2, - .my-lg-2 { - margin-top: 0.5rem !important; - } - .mr-lg-2, - .mx-lg-2 { - margin-right: 0.5rem !important; - } - .mb-lg-2, - .my-lg-2 { - margin-bottom: 0.5rem !important; - } - .ml-lg-2, - .mx-lg-2 { - margin-left: 0.5rem !important; - } - .m-lg-3 { - margin: 1rem !important; - } - .mt-lg-3, - .my-lg-3 { - margin-top: 1rem !important; - } - .mr-lg-3, - .mx-lg-3 { - margin-right: 1rem !important; - } - .mb-lg-3, - .my-lg-3 { - margin-bottom: 1rem !important; - } - .ml-lg-3, - .mx-lg-3 { - margin-left: 1rem !important; - } - .m-lg-4 { - margin: 1.5rem !important; - } - .mt-lg-4, - .my-lg-4 { - margin-top: 1.5rem !important; - } - .mr-lg-4, - .mx-lg-4 { - margin-right: 1.5rem !important; - } - .mb-lg-4, - .my-lg-4 { - margin-bottom: 1.5rem !important; - } - .ml-lg-4, - .mx-lg-4 { - margin-left: 1.5rem !important; - } - .m-lg-5 { - margin: 3rem !important; - } - .mt-lg-5, - .my-lg-5 { - margin-top: 3rem !important; - } - .mr-lg-5, - .mx-lg-5 { - margin-right: 3rem !important; - } - .mb-lg-5, - .my-lg-5 { - margin-bottom: 3rem !important; - } - .ml-lg-5, - .mx-lg-5 { - margin-left: 3rem !important; - } - .p-lg-0 { - padding: 0 !important; - } - .pt-lg-0, - .py-lg-0 { - padding-top: 0 !important; - } - .pr-lg-0, - .px-lg-0 { - padding-right: 0 !important; - } - .pb-lg-0, - .py-lg-0 { - padding-bottom: 0 !important; - } - .pl-lg-0, - .px-lg-0 { - padding-left: 0 !important; - } - .p-lg-1 { - padding: 0.25rem !important; - } - .pt-lg-1, - .py-lg-1 { - padding-top: 0.25rem !important; - } - .pr-lg-1, - .px-lg-1 { - padding-right: 0.25rem !important; - } - .pb-lg-1, - .py-lg-1 { - padding-bottom: 0.25rem !important; - } - .pl-lg-1, - .px-lg-1 { - padding-left: 0.25rem !important; - } - .p-lg-2 { - padding: 0.5rem !important; - } - .pt-lg-2, - .py-lg-2 { - padding-top: 0.5rem !important; - } - .pr-lg-2, - .px-lg-2 { - padding-right: 0.5rem !important; - } - .pb-lg-2, - .py-lg-2 { - padding-bottom: 0.5rem !important; - } - .pl-lg-2, - .px-lg-2 { - padding-left: 0.5rem !important; - } - .p-lg-3 { - padding: 1rem !important; - } - .pt-lg-3, - .py-lg-3 { - padding-top: 1rem !important; - } - .pr-lg-3, - .px-lg-3 { - padding-right: 1rem !important; - } - .pb-lg-3, - .py-lg-3 { - padding-bottom: 1rem !important; - } - .pl-lg-3, - .px-lg-3 { - padding-left: 1rem !important; - } - .p-lg-4 { - padding: 1.5rem !important; - } - .pt-lg-4, - .py-lg-4 { - padding-top: 1.5rem !important; - } - .pr-lg-4, - .px-lg-4 { - padding-right: 1.5rem !important; - } - .pb-lg-4, - .py-lg-4 { - padding-bottom: 1.5rem !important; - } - .pl-lg-4, - .px-lg-4 { - padding-left: 1.5rem !important; - } - .p-lg-5 { - padding: 3rem !important; - } - .pt-lg-5, - .py-lg-5 { - padding-top: 3rem !important; - } - .pr-lg-5, - .px-lg-5 { - padding-right: 3rem !important; - } - .pb-lg-5, - .py-lg-5 { - padding-bottom: 3rem !important; - } - .pl-lg-5, - .px-lg-5 { - padding-left: 3rem !important; - } - .m-lg-n1 { - margin: -0.25rem !important; - } - .mt-lg-n1, - .my-lg-n1 { - margin-top: -0.25rem !important; - } - .mr-lg-n1, - .mx-lg-n1 { - margin-right: -0.25rem !important; - } - .mb-lg-n1, - .my-lg-n1 { - margin-bottom: -0.25rem !important; - } - .ml-lg-n1, - .mx-lg-n1 { - margin-left: -0.25rem !important; - } - .m-lg-n2 { - margin: -0.5rem !important; - } - .mt-lg-n2, - .my-lg-n2 { - margin-top: -0.5rem !important; - } - .mr-lg-n2, - .mx-lg-n2 { - margin-right: -0.5rem !important; - } - .mb-lg-n2, - .my-lg-n2 { - margin-bottom: -0.5rem !important; - } - .ml-lg-n2, - .mx-lg-n2 { - margin-left: -0.5rem !important; - } - .m-lg-n3 { - margin: -1rem !important; - } - .mt-lg-n3, - .my-lg-n3 { - margin-top: -1rem !important; - } - .mr-lg-n3, - .mx-lg-n3 { - margin-right: -1rem !important; - } - .mb-lg-n3, - .my-lg-n3 { - margin-bottom: -1rem !important; - } - .ml-lg-n3, - .mx-lg-n3 { - margin-left: -1rem !important; - } - .m-lg-n4 { - margin: -1.5rem !important; - } - .mt-lg-n4, - .my-lg-n4 { - margin-top: -1.5rem !important; - } - .mr-lg-n4, - .mx-lg-n4 { - margin-right: -1.5rem !important; - } - .mb-lg-n4, - .my-lg-n4 { - margin-bottom: -1.5rem !important; - } - .ml-lg-n4, - .mx-lg-n4 { - margin-left: -1.5rem !important; - } - .m-lg-n5 { - margin: -3rem !important; - } - .mt-lg-n5, - .my-lg-n5 { - margin-top: -3rem !important; - } - .mr-lg-n5, - .mx-lg-n5 { - margin-right: -3rem !important; - } - .mb-lg-n5, - .my-lg-n5 { - margin-bottom: -3rem !important; - } - .ml-lg-n5, - .mx-lg-n5 { - margin-left: -3rem !important; - } - .m-lg-auto { - margin: auto !important; - } - .mt-lg-auto, - .my-lg-auto { - margin-top: auto !important; - } - .mr-lg-auto, - .mx-lg-auto { - margin-right: auto !important; - } - .mb-lg-auto, - .my-lg-auto { - margin-bottom: auto !important; - } - .ml-lg-auto, - .mx-lg-auto { - margin-left: auto !important; - } -} - -@media (min-width: 1200px) { - .m-xl-0 { - margin: 0 !important; - } - .mt-xl-0, - .my-xl-0 { - margin-top: 0 !important; - } - .mr-xl-0, - .mx-xl-0 { - margin-right: 0 !important; - } - .mb-xl-0, - .my-xl-0 { - margin-bottom: 0 !important; - } - .ml-xl-0, - .mx-xl-0 { - margin-left: 0 !important; - } - .m-xl-1 { - margin: 0.25rem !important; - } - .mt-xl-1, - .my-xl-1 { - margin-top: 0.25rem !important; - } - .mr-xl-1, - .mx-xl-1 { - margin-right: 0.25rem !important; - } - .mb-xl-1, - .my-xl-1 { - margin-bottom: 0.25rem !important; - } - .ml-xl-1, - .mx-xl-1 { - margin-left: 0.25rem !important; - } - .m-xl-2 { - margin: 0.5rem !important; - } - .mt-xl-2, - .my-xl-2 { - margin-top: 0.5rem !important; - } - .mr-xl-2, - .mx-xl-2 { - margin-right: 0.5rem !important; - } - .mb-xl-2, - .my-xl-2 { - margin-bottom: 0.5rem !important; - } - .ml-xl-2, - .mx-xl-2 { - margin-left: 0.5rem !important; - } - .m-xl-3 { - margin: 1rem !important; - } - .mt-xl-3, - .my-xl-3 { - margin-top: 1rem !important; - } - .mr-xl-3, - .mx-xl-3 { - margin-right: 1rem !important; - } - .mb-xl-3, - .my-xl-3 { - margin-bottom: 1rem !important; - } - .ml-xl-3, - .mx-xl-3 { - margin-left: 1rem !important; - } - .m-xl-4 { - margin: 1.5rem !important; - } - .mt-xl-4, - .my-xl-4 { - margin-top: 1.5rem !important; - } - .mr-xl-4, - .mx-xl-4 { - margin-right: 1.5rem !important; - } - .mb-xl-4, - .my-xl-4 { - margin-bottom: 1.5rem !important; - } - .ml-xl-4, - .mx-xl-4 { - margin-left: 1.5rem !important; - } - .m-xl-5 { - margin: 3rem !important; - } - .mt-xl-5, - .my-xl-5 { - margin-top: 3rem !important; - } - .mr-xl-5, - .mx-xl-5 { - margin-right: 3rem !important; - } - .mb-xl-5, - .my-xl-5 { - margin-bottom: 3rem !important; - } - .ml-xl-5, - .mx-xl-5 { - margin-left: 3rem !important; - } - .p-xl-0 { - padding: 0 !important; - } - .pt-xl-0, - .py-xl-0 { - padding-top: 0 !important; - } - .pr-xl-0, - .px-xl-0 { - padding-right: 0 !important; - } - .pb-xl-0, - .py-xl-0 { - padding-bottom: 0 !important; - } - .pl-xl-0, - .px-xl-0 { - padding-left: 0 !important; - } - .p-xl-1 { - padding: 0.25rem !important; - } - .pt-xl-1, - .py-xl-1 { - padding-top: 0.25rem !important; - } - .pr-xl-1, - .px-xl-1 { - padding-right: 0.25rem !important; - } - .pb-xl-1, - .py-xl-1 { - padding-bottom: 0.25rem !important; - } - .pl-xl-1, - .px-xl-1 { - padding-left: 0.25rem !important; - } - .p-xl-2 { - padding: 0.5rem !important; - } - .pt-xl-2, - .py-xl-2 { - padding-top: 0.5rem !important; - } - .pr-xl-2, - .px-xl-2 { - padding-right: 0.5rem !important; - } - .pb-xl-2, - .py-xl-2 { - padding-bottom: 0.5rem !important; - } - .pl-xl-2, - .px-xl-2 { - padding-left: 0.5rem !important; - } - .p-xl-3 { - padding: 1rem !important; - } - .pt-xl-3, - .py-xl-3 { - padding-top: 1rem !important; - } - .pr-xl-3, - .px-xl-3 { - padding-right: 1rem !important; - } - .pb-xl-3, - .py-xl-3 { - padding-bottom: 1rem !important; - } - .pl-xl-3, - .px-xl-3 { - padding-left: 1rem !important; - } - .p-xl-4 { - padding: 1.5rem !important; - } - .pt-xl-4, - .py-xl-4 { - padding-top: 1.5rem !important; - } - .pr-xl-4, - .px-xl-4 { - padding-right: 1.5rem !important; - } - .pb-xl-4, - .py-xl-4 { - padding-bottom: 1.5rem !important; - } - .pl-xl-4, - .px-xl-4 { - padding-left: 1.5rem !important; - } - .p-xl-5 { - padding: 3rem !important; - } - .pt-xl-5, - .py-xl-5 { - padding-top: 3rem !important; - } - .pr-xl-5, - .px-xl-5 { - padding-right: 3rem !important; - } - .pb-xl-5, - .py-xl-5 { - padding-bottom: 3rem !important; - } - .pl-xl-5, - .px-xl-5 { - padding-left: 3rem !important; - } - .m-xl-n1 { - margin: -0.25rem !important; - } - .mt-xl-n1, - .my-xl-n1 { - margin-top: -0.25rem !important; - } - .mr-xl-n1, - .mx-xl-n1 { - margin-right: -0.25rem !important; - } - .mb-xl-n1, - .my-xl-n1 { - margin-bottom: -0.25rem !important; - } - .ml-xl-n1, - .mx-xl-n1 { - margin-left: -0.25rem !important; - } - .m-xl-n2 { - margin: -0.5rem !important; - } - .mt-xl-n2, - .my-xl-n2 { - margin-top: -0.5rem !important; - } - .mr-xl-n2, - .mx-xl-n2 { - margin-right: -0.5rem !important; - } - .mb-xl-n2, - .my-xl-n2 { - margin-bottom: -0.5rem !important; - } - .ml-xl-n2, - .mx-xl-n2 { - margin-left: -0.5rem !important; - } - .m-xl-n3 { - margin: -1rem !important; - } - .mt-xl-n3, - .my-xl-n3 { - margin-top: -1rem !important; - } - .mr-xl-n3, - .mx-xl-n3 { - margin-right: -1rem !important; - } - .mb-xl-n3, - .my-xl-n3 { - margin-bottom: -1rem !important; - } - .ml-xl-n3, - .mx-xl-n3 { - margin-left: -1rem !important; - } - .m-xl-n4 { - margin: -1.5rem !important; - } - .mt-xl-n4, - .my-xl-n4 { - margin-top: -1.5rem !important; - } - .mr-xl-n4, - .mx-xl-n4 { - margin-right: -1.5rem !important; - } - .mb-xl-n4, - .my-xl-n4 { - margin-bottom: -1.5rem !important; - } - .ml-xl-n4, - .mx-xl-n4 { - margin-left: -1.5rem !important; - } - .m-xl-n5 { - margin: -3rem !important; - } - .mt-xl-n5, - .my-xl-n5 { - margin-top: -3rem !important; - } - .mr-xl-n5, - .mx-xl-n5 { - margin-right: -3rem !important; - } - .mb-xl-n5, - .my-xl-n5 { - margin-bottom: -3rem !important; - } - .ml-xl-n5, - .mx-xl-n5 { - margin-left: -3rem !important; - } - .m-xl-auto { - margin: auto !important; - } - .mt-xl-auto, - .my-xl-auto { - margin-top: auto !important; - } - .mr-xl-auto, - .mx-xl-auto { - margin-right: auto !important; - } - .mb-xl-auto, - .my-xl-auto { - margin-bottom: auto !important; - } - .ml-xl-auto, - .mx-xl-auto { - margin-left: auto !important; - } -} - -.stretched-link::after { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 1; - pointer-events: auto; - content: ""; - background-color: rgba(0, 0, 0, 0); -} - -.text-monospace { - font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important; -} - -.text-justify { - text-align: justify !important; -} - -.text-wrap { - white-space: normal !important; -} - -.text-nowrap { - white-space: nowrap !important; -} - -.text-truncate { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -.text-left { - text-align: left !important; -} - -.text-right { - text-align: right !important; -} - -.text-center { - text-align: center !important; -} - -@media (min-width: 576px) { - .text-sm-left { - text-align: left !important; - } - .text-sm-right { - text-align: right !important; - } - .text-sm-center { - text-align: center !important; - } -} - -@media (min-width: 768px) { - .text-md-left { - text-align: left !important; - } - .text-md-right { - text-align: right !important; - } - .text-md-center { - text-align: center !important; - } -} - -@media (min-width: 992px) { - .text-lg-left { - text-align: left !important; - } - .text-lg-right { - text-align: right !important; - } - .text-lg-center { - text-align: center !important; - } -} - -@media (min-width: 1200px) { - .text-xl-left { - text-align: left !important; - } - .text-xl-right { - text-align: right !important; - } - .text-xl-center { - text-align: center !important; - } -} - -.text-lowercase { - text-transform: lowercase !important; -} - -.text-uppercase { - text-transform: uppercase !important; -} - -.text-capitalize { - text-transform: capitalize !important; -} - -.font-weight-light { - font-weight: 300 !important; -} - -.font-weight-lighter { - font-weight: lighter !important; -} - -.font-weight-normal { - font-weight: 400 !important; -} - -.font-weight-bold { - font-weight: 700 !important; -} - -.font-weight-bolder { - font-weight: bolder !important; -} - -.font-italic { - font-style: italic !important; -} - -.text-white { - color: #fff !important; -} - -.text-primary { - color: #007bff !important; -} - -a.text-primary:hover, a.text-primary:focus { - color: #0056b3 !important; -} - -.text-secondary { - color: #6c757d !important; -} - -a.text-secondary:hover, a.text-secondary:focus { - color: #494f54 !important; -} - -.text-success { - color: #28a745 !important; -} - -a.text-success:hover, a.text-success:focus { - color: #19692c !important; -} - -.text-info { - color: #17a2b8 !important; -} - -a.text-info:hover, a.text-info:focus { - color: #0f6674 !important; -} - -.text-warning { - color: #ffc107 !important; -} - -a.text-warning:hover, a.text-warning:focus { - color: #ba8b00 !important; -} - -.text-danger { - color: #dc3545 !important; -} - -a.text-danger:hover, a.text-danger:focus { - color: #a71d2a !important; -} - -.text-light { - color: #f8f9fa !important; -} - -a.text-light:hover, a.text-light:focus { - color: #cbd3da !important; -} - -.text-dark { - color: #343a40 !important; -} - -a.text-dark:hover, a.text-dark:focus { - color: #121416 !important; -} - -.text-body { - color: #212529 !important; -} - -.text-muted { - color: #6c757d !important; -} - -.text-black-50 { - color: rgba(0, 0, 0, 0.5) !important; -} - -.text-white-50 { - color: rgba(255, 255, 255, 0.5) !important; -} - -.text-hide { - font: 0/0 a; - color: transparent; - text-shadow: none; - background-color: transparent; - border: 0; -} - -.text-decoration-none { - text-decoration: none !important; -} - -.text-break { - word-break: break-word !important; - word-wrap: break-word !important; -} - -.text-reset { - color: inherit !important; -} - -.visible { - visibility: visible !important; -} - -.invisible { - visibility: hidden !important; -} - -@media print { - *, - *::before, - *::after { - text-shadow: none !important; - box-shadow: none !important; - } - a:not(.btn) { - text-decoration: underline; - } - abbr[title]::after { - content: " (" attr(title) ")"; - } - pre { - white-space: pre-wrap !important; - } - pre, - blockquote { - border: 1px solid #adb5bd; - page-break-inside: avoid; - } - thead { - display: table-header-group; - } - tr, - img { - page-break-inside: avoid; - } - p, - h2, - h3 { - orphans: 3; - widows: 3; - } - h2, - h3 { - page-break-after: avoid; - } - @page { - size: a3; - } - body { - min-width: 992px !important; - } - .container { - min-width: 992px !important; - } - .navbar { - display: none; - } - .badge { - border: 1px solid #000; - } - .table { - border-collapse: collapse !important; - } - .table td, - .table th { - background-color: #fff !important; - } - .table-bordered th, - .table-bordered td { - border: 1px solid #dee2e6 !important; - } - .table-dark { - color: inherit; - } - .table-dark th, - .table-dark td, - .table-dark thead th, - .table-dark tbody + tbody { - border-color: #dee2e6; - } - .table .thead-dark th { - color: inherit; - border-color: #dee2e6; - } -} - -.rtl, -[dir="rtl"] { - text-align: right; - direction: rtl; -} - -.rtl .nav, -[dir="rtl"] .nav { - padding-right: 0; -} - -.rtl .navbar-nav .nav-item, -[dir="rtl"] .navbar-nav .nav-item { - float: right; -} - -.rtl .navbar-nav .nav-item + .nav-item, -[dir="rtl"] .navbar-nav .nav-item + .nav-item { - margin-right: inherit; - margin-left: 1rem; -} - -.rtl th, -[dir="rtl"] th { - text-align: right; -} - -.rtl .alert-dismissible, -[dir="rtl"] .alert-dismissible { - padding-right: 1.25rem; - padding-left: 4rem; -} - -.rtl .dropdown-menu, -[dir="rtl"] .dropdown-menu { - right: 0; - left: inherit; - text-align: right; -} - -.rtl .checkbox label, -[dir="rtl"] .checkbox label { - padding-right: 1.25rem; - padding-left: inherit; -} - -.rtl .btn-group > .btn:not(:first-child), -.rtl .btn-group > .btn-group:not(:first-child), -[dir="rtl"] .btn-group > .btn:not(:first-child), -[dir="rtl"] .btn-group > .btn-group:not(:first-child) { - margin-left: initial; - margin-right: -1px; -} - -.rtl .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle), -[dir="rtl"] .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { - border-radius: 0 0.25rem 0.25rem 0; -} - -.rtl .btn-group > .btn:last-child:not(:first-child), -.rtl .btn-group > .dropdown-toggle:not(:first-child), -[dir="rtl"] .btn-group > .btn:last-child:not(:first-child), -[dir="rtl"] .btn-group > .dropdown-toggle:not(:first-child) { - border-radius: 0.25rem 0 0 0.25rem; -} - -.rtl .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child, -[dir="rtl"] .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { - border-radius: 0.25rem 0 0 0.25rem; -} - -.rtl .custom-control, -[dir="rtl"] .custom-control { - padding-right: 1.5rem; - padding-left: inherit; - margin-right: inherit; - margin-left: 1rem; -} - -.rtl .custom-control-indicator, -[dir="rtl"] .custom-control-indicator { - right: 0; - left: inherit; -} - -.rtl .custom-file-label::after, -[dir="rtl"] .custom-file-label::after { - right: initial; - left: -1px; - border-radius: .25rem 0 0 .25rem; -} - -.rtl .custom-control-label::after, -.rtl .custom-control-label::before, -[dir="rtl"] .custom-control-label::after, -[dir="rtl"] .custom-control-label::before { - right: -1.5rem; - left: inherit; -} - -.rtl .custom-select, -[dir="rtl"] .custom-select { - padding: 0.375rem 0.75rem 0.375rem 1.75rem; - background: #fff url("data:image/svg+xml,") no-repeat left 0.75rem center; - background-size: 8px 10px; -} - -.rtl .custom-switch, -[dir="rtl"] .custom-switch { - padding-right: 2.25rem; - padding-left: inherit; -} - -.rtl .custom-switch .custom-control-label::before, -[dir="rtl"] .custom-switch .custom-control-label::before { - right: -2.25rem; -} - -.rtl .custom-switch .custom-control-label::after, -[dir="rtl"] .custom-switch .custom-control-label::after { - right: calc(-2.25rem + 2px); -} - -.rtl .custom-switch .custom-control-input:checked ~ .custom-control-label::after, -[dir="rtl"] .custom-switch .custom-control-input:checked ~ .custom-control-label::after { - transform: translateX(-0.75rem); -} - -.rtl .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.rtl .input-group > .input-group-append:last-child > .input-group-text:not(:last-child), -.rtl .input-group > .input-group-append:not(:last-child) > .btn, -.rtl .input-group > .input-group-append:not(:last-child) > .input-group-text, -.rtl .input-group > .input-group-prepend > .btn, -.rtl .input-group > .input-group-prepend > .input-group-text, -[dir="rtl"] .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -[dir="rtl"] .input-group > .input-group-append:last-child > .input-group-text:not(:last-child), -[dir="rtl"] .input-group > .input-group-append:not(:last-child) > .btn, -[dir="rtl"] .input-group > .input-group-append:not(:last-child) > .input-group-text, -[dir="rtl"] .input-group > .input-group-prepend > .btn, -[dir="rtl"] .input-group > .input-group-prepend > .input-group-text { - border-radius: 0 0.25rem 0.25rem 0; -} - -.rtl .input-group > .input-group-append > .btn, -.rtl .input-group > .input-group-append > .input-group-text, -.rtl .input-group > .input-group-prepend:first-child > .btn:not(:first-child), -.rtl .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child), -.rtl .input-group > .input-group-prepend:not(:first-child) > .btn, -.rtl .input-group > .input-group-prepend:not(:first-child) > .input-group-text, -[dir="rtl"] .input-group > .input-group-append > .btn, -[dir="rtl"] .input-group > .input-group-append > .input-group-text, -[dir="rtl"] .input-group > .input-group-prepend:first-child > .btn:not(:first-child), -[dir="rtl"] .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child), -[dir="rtl"] .input-group > .input-group-prepend:not(:first-child) > .btn, -[dir="rtl"] .input-group > .input-group-prepend:not(:first-child) > .input-group-text { - border-radius: 0.25rem 0 0 0.25rem; -} - -.rtl .input-group > .custom-select:not(:first-child), -.rtl .input-group > .form-control:not(:first-child), -[dir="rtl"] .input-group > .custom-select:not(:first-child), -[dir="rtl"] .input-group > .form-control:not(:first-child) { - border-radius: 0.25rem 0 0 0.25rem; -} - -.rtl .input-group > .custom-select:not(:last-child), -.rtl .input-group > .form-control:not(:last-child), -[dir="rtl"] .input-group > .custom-select:not(:last-child), -[dir="rtl"] .input-group > .form-control:not(:last-child) { - border-radius: 0 0.25rem 0.25rem 0; -} - -.rtl .input-group > .custom-select:not(:last-child):not(:first-child), -.rtl .input-group > .form-control:not(:last-child):not(:first-child), -[dir="rtl"] .input-group > .custom-select:not(:last-child):not(:first-child), -[dir="rtl"] .input-group > .form-control:not(:last-child):not(:first-child) { - border-radius: 0; -} - -.rtl .radio input, -.rtl .radio-inline, -.rtl .checkbox input, -.rtl .checkbox-inline input, -[dir="rtl"] .radio input, -[dir="rtl"] .radio-inline, -[dir="rtl"] .checkbox input, -[dir="rtl"] .checkbox-inline input { - margin-right: -1.25rem; - margin-left: inherit; -} - -.rtl .breadcrumb-item + .breadcrumb-item, -[dir="rtl"] .breadcrumb-item + .breadcrumb-item { - padding-right: 0.5rem; - padding-left: 0; - color: #6c757d; - content: "/"; -} - -.rtl .breadcrumb-item + .breadcrumb-item::before, -[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before { - padding-right: 0; - padding-left: 0.5rem; -} - -.rtl .list-group, -[dir="rtl"] .list-group { - padding-right: 0; - padding-left: 40px; -} - -.rtl .close, -[dir="rtl"] .close { - float: left; -} - -.rtl .modal-header .close, -[dir="rtl"] .modal-header .close { - margin: -15px auto -15px -15px; -} - -.rtl .modal-footer > :not(:first-child), -[dir="rtl"] .modal-footer > :not(:first-child) { - margin-right: .25rem; -} - -.rtl .modal-footer > :not(:last-child), -[dir="rtl"] .modal-footer > :not(:last-child) { - margin-left: .25rem; -} - -.rtl .modal-footer > :first-child, -[dir="rtl"] .modal-footer > :first-child { - margin-right: 0; -} - -.rtl .modal-footer > :last-child, -[dir="rtl"] .modal-footer > :last-child { - margin-left: 0; -} - -.rtl .alert-dismissible .close, -[dir="rtl"] .alert-dismissible .close { - right: inherit; - left: 0; -} - -.rtl .dropdown-toggle::after, -[dir="rtl"] .dropdown-toggle::after { - margin-right: .255em; - margin-left: 0; -} - -.rtl .form-check-input, -[dir="rtl"] .form-check-input { - margin-right: -1.25rem; - margin-left: inherit; -} - -.rtl .form-check-label, -[dir="rtl"] .form-check-label { - padding-right: 1.25rem; - padding-left: inherit; -} - -.rtl .pagination, -.rtl .list-unstyled, -.rtl .list-inline, -[dir="rtl"] .pagination, -[dir="rtl"] .list-unstyled, -[dir="rtl"] .list-inline { - padding-right: 0; - padding-left: inherit; -} - -.rtl .pagination .page-item:first-child .page-link, -[dir="rtl"] .pagination .page-item:first-child .page-link { - border-top-right-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-top-left-radius: 0; - border-bottom-left-radius: 0; -} - -.rtl .pagination .page-item:last-child .page-link, -[dir="rtl"] .pagination .page-item:last-child .page-link { - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-top-left-radius: 0.25rem; - border-bottom-left-radius: 0.25rem; -} - -.rtl .offset-1, -[dir="rtl"] .offset-1 { - margin-right: 8.333333%; - margin-left: 0; -} - -.rtl .offset-2, -[dir="rtl"] .offset-2 { - margin-right: 16.666667%; - margin-left: 0; -} - -.rtl .offset-3, -[dir="rtl"] .offset-3 { - margin-right: 25%; - margin-left: 0; -} - -.rtl .offset-4, -[dir="rtl"] .offset-4 { - margin-right: 33.333333%; - margin-left: 0; -} - -.rtl .offset-5, -[dir="rtl"] .offset-5 { - margin-right: 41.666667%; - margin-left: 0; -} - -.rtl .offset-6, -[dir="rtl"] .offset-6 { - margin-right: 50%; - margin-left: 0; -} - -.rtl .offset-7, -[dir="rtl"] .offset-7 { - margin-right: 58.333333%; - margin-left: 0; -} - -.rtl .offset-8, -[dir="rtl"] .offset-8 { - margin-right: 66.666667%; - margin-left: 0; -} - -.rtl .offset-9, -[dir="rtl"] .offset-9 { - margin-right: 75%; - margin-left: 0; -} - -.rtl .offset-10, -[dir="rtl"] .offset-10 { - margin-right: 83.333333%; - margin-left: 0; -} - -.rtl .offset-11, -[dir="rtl"] .offset-11 { - margin-right: 91.666667%; - margin-left: 0; -} - -@media (min-width: 576px) { - .rtl .offset-sm-0, - [dir="rtl"] .offset-sm-0 { - margin-right: 0; - margin-left: 0; - } - .rtl .offset-sm-1, - [dir="rtl"] .offset-sm-1 { - margin-right: 8.333333%; - margin-left: 0; - } - .rtl .offset-sm-2, - [dir="rtl"] .offset-sm-2 { - margin-right: 16.666667%; - margin-left: 0; - } - .rtl .offset-sm-3, - [dir="rtl"] .offset-sm-3 { - margin-right: 25%; - margin-left: 0; - } - .rtl .offset-sm-4, - [dir="rtl"] .offset-sm-4 { - margin-right: 33.333333%; - margin-left: 0; - } - .rtl .offset-sm-5, - [dir="rtl"] .offset-sm-5 { - margin-right: 41.666667%; - margin-left: 0; - } - .rtl .offset-sm-6, - [dir="rtl"] .offset-sm-6 { - margin-right: 50%; - margin-left: 0; - } - .rtl .offset-sm-7, - [dir="rtl"] .offset-sm-7 { - margin-right: 58.333333%; - margin-left: 0; - } - .rtl .offset-sm-8, - [dir="rtl"] .offset-sm-8 { - margin-right: 66.666667%; - margin-left: 0; - } - .rtl .offset-sm-9, - [dir="rtl"] .offset-sm-9 { - margin-right: 75%; - margin-left: 0; - } - .rtl .offset-sm-10, - [dir="rtl"] .offset-sm-10 { - margin-right: 83.333333%; - margin-left: 0; - } - .rtl .offset-sm-11, - [dir="rtl"] .offset-sm-11 { - margin-right: 91.666667%; - margin-left: 0; - } -} - -@media (min-width: 768px) { - .rtl .offset-md-0, - [dir="rtl"] .offset-md-0 { - margin-right: 0; - margin-left: 0; - } - .rtl .offset-md-1, - [dir="rtl"] .offset-md-1 { - margin-right: 8.333333%; - margin-left: 0; - } - .rtl .offset-md-2, - [dir="rtl"] .offset-md-2 { - margin-right: 16.666667%; - margin-left: 0; - } - .rtl .offset-md-3, - [dir="rtl"] .offset-md-3 { - margin-right: 25%; - margin-left: 0; - } - .rtl .offset-md-4, - [dir="rtl"] .offset-md-4 { - margin-right: 33.333333%; - margin-left: 0; - } - .rtl .offset-md-5, - [dir="rtl"] .offset-md-5 { - margin-right: 41.666667%; - margin-left: 0; - } - .rtl .offset-md-6, - [dir="rtl"] .offset-md-6 { - margin-right: 50%; - margin-left: 0; - } - .rtl .offset-md-7, - [dir="rtl"] .offset-md-7 { - margin-right: 58.333333%; - margin-left: 0; - } - .rtl .offset-md-8, - [dir="rtl"] .offset-md-8 { - margin-right: 66.666667%; - margin-left: 0; - } - .rtl .offset-md-9, - [dir="rtl"] .offset-md-9 { - margin-right: 75%; - margin-left: 0; - } - .rtl .offset-md-10, - [dir="rtl"] .offset-md-10 { - margin-right: 83.333333%; - margin-left: 0; - } - .rtl .offset-md-11, - [dir="rtl"] .offset-md-11 { - margin-right: 91.666667%; - margin-left: 0; - } -} - -@media (min-width: 992px) { - .rtl .offset-lg-0, - [dir="rtl"] .offset-lg-0 { - margin-right: 0; - margin-left: 0; - } - .rtl .offset-lg-1, - [dir="rtl"] .offset-lg-1 { - margin-right: 8.333333%; - margin-left: 0; - } - .rtl .offset-lg-2, - [dir="rtl"] .offset-lg-2 { - margin-right: 16.666667%; - margin-left: 0; - } - .rtl .offset-lg-3, - [dir="rtl"] .offset-lg-3 { - margin-right: 25%; - margin-left: 0; - } - .rtl .offset-lg-4, - [dir="rtl"] .offset-lg-4 { - margin-right: 33.333333%; - margin-left: 0; - } - .rtl .offset-lg-5, - [dir="rtl"] .offset-lg-5 { - margin-right: 41.666667%; - margin-left: 0; - } - .rtl .offset-lg-6, - [dir="rtl"] .offset-lg-6 { - margin-right: 50%; - margin-left: 0; - } - .rtl .offset-lg-7, - [dir="rtl"] .offset-lg-7 { - margin-right: 58.333333%; - margin-left: 0; - } - .rtl .offset-lg-8, - [dir="rtl"] .offset-lg-8 { - margin-right: 66.666667%; - margin-left: 0; - } - .rtl .offset-lg-9, - [dir="rtl"] .offset-lg-9 { - margin-right: 75%; - margin-left: 0; - } - .rtl .offset-lg-10, - [dir="rtl"] .offset-lg-10 { - margin-right: 83.333333%; - margin-left: 0; - } - .rtl .offset-lg-11, - [dir="rtl"] .offset-lg-11 { - margin-right: 91.666667%; - margin-left: 0; - } -} - -@media (min-width: 1200px) { - .rtl .offset-xl-0, - [dir="rtl"] .offset-xl-0 { - margin-right: 0; - margin-left: 0; - } - .rtl .offset-xl-1, - [dir="rtl"] .offset-xl-1 { - margin-right: 8.333333%; - margin-left: 0; - } - .rtl .offset-xl-2, - [dir="rtl"] .offset-xl-2 { - margin-right: 16.666667%; - margin-left: 0; - } - .rtl .offset-xl-3, - [dir="rtl"] .offset-xl-3 { - margin-right: 25%; - margin-left: 0; - } - .rtl .offset-xl-4, - [dir="rtl"] .offset-xl-4 { - margin-right: 33.333333%; - margin-left: 0; - } - .rtl .offset-xl-5, - [dir="rtl"] .offset-xl-5 { - margin-right: 41.666667%; - margin-left: 0; - } - .rtl .offset-xl-6, - [dir="rtl"] .offset-xl-6 { - margin-right: 50%; - margin-left: 0; - } - .rtl .offset-xl-7, - [dir="rtl"] .offset-xl-7 { - margin-right: 58.333333%; - margin-left: 0; - } - .rtl .offset-xl-8, - [dir="rtl"] .offset-xl-8 { - margin-right: 66.666667%; - margin-left: 0; - } - .rtl .offset-xl-9, - [dir="rtl"] .offset-xl-9 { - margin-right: 75%; - margin-left: 0; - } - .rtl .offset-xl-10, - [dir="rtl"] .offset-xl-10 { - margin-right: 83.333333%; - margin-left: 0; - } - .rtl .offset-xl-11, - [dir="rtl"] .offset-xl-11 { - margin-right: 91.666667%; - margin-left: 0; - } -} - -.rtl .mr-0, -[dir="rtl"] .mr-0 { - margin-right: 0 !important; - margin-left: 0 !important; -} - -.rtl .ml-0, -[dir="rtl"] .ml-0 { - margin-left: 0 !important; - margin-right: 0 !important; -} - -.rtl mx-0, -[dir="rtl"] mx-0 { - margin-left: 0 !important; - margin-right: 0 !important; -} - -.rtl .mr-1, -[dir="rtl"] .mr-1 { - margin-right: 0 !important; - margin-left: 0.25rem !important; -} - -.rtl .ml-1, -[dir="rtl"] .ml-1 { - margin-left: 0 !important; - margin-right: 0.25rem !important; -} - -.rtl mx-1, -[dir="rtl"] mx-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; -} - -.rtl .mr-2, -[dir="rtl"] .mr-2 { - margin-right: 0 !important; - margin-left: 0.5rem !important; -} - -.rtl .ml-2, -[dir="rtl"] .ml-2 { - margin-left: 0 !important; - margin-right: 0.5rem !important; -} - -.rtl mx-2, -[dir="rtl"] mx-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; -} - -.rtl .mr-3, -[dir="rtl"] .mr-3 { - margin-right: 0 !important; - margin-left: 1rem !important; -} - -.rtl .ml-3, -[dir="rtl"] .ml-3 { - margin-left: 0 !important; - margin-right: 1rem !important; -} - -.rtl mx-3, -[dir="rtl"] mx-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; -} - -.rtl .mr-4, -[dir="rtl"] .mr-4 { - margin-right: 0 !important; - margin-left: 1.5rem !important; -} - -.rtl .ml-4, -[dir="rtl"] .ml-4 { - margin-left: 0 !important; - margin-right: 1.5rem !important; -} - -.rtl mx-4, -[dir="rtl"] mx-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; -} - -.rtl .mr-5, -[dir="rtl"] .mr-5 { - margin-right: 0 !important; - margin-left: 3rem !important; -} - -.rtl .ml-5, -[dir="rtl"] .ml-5 { - margin-left: 0 !important; - margin-right: 3rem !important; -} - -.rtl mx-5, -[dir="rtl"] mx-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; -} - -.rtl .pr-0, -[dir="rtl"] .pr-0 { - padding-right: 0 !important; - padding-left: 0 !important; -} - -.rtl .pl-0, -[dir="rtl"] .pl-0 { - padding-left: 0 !important; - padding-right: 0 !important; -} - -.rtl px-0, -[dir="rtl"] px-0 { - padding-left: 0 !important; - padding-right: 0 !important; -} - -.rtl .pr-1, -[dir="rtl"] .pr-1 { - padding-right: 0 !important; - padding-left: 0.25rem !important; -} - -.rtl .pl-1, -[dir="rtl"] .pl-1 { - padding-left: 0 !important; - padding-right: 0.25rem !important; -} - -.rtl px-1, -[dir="rtl"] px-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; -} - -.rtl .pr-2, -[dir="rtl"] .pr-2 { - padding-right: 0 !important; - padding-left: 0.5rem !important; -} - -.rtl .pl-2, -[dir="rtl"] .pl-2 { - padding-left: 0 !important; - padding-right: 0.5rem !important; -} - -.rtl px-2, -[dir="rtl"] px-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; -} - -.rtl .pr-3, -[dir="rtl"] .pr-3 { - padding-right: 0 !important; - padding-left: 1rem !important; -} - -.rtl .pl-3, -[dir="rtl"] .pl-3 { - padding-left: 0 !important; - padding-right: 1rem !important; -} - -.rtl px-3, -[dir="rtl"] px-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; -} - -.rtl .pr-4, -[dir="rtl"] .pr-4 { - padding-right: 0 !important; - padding-left: 1.5rem !important; -} - -.rtl .pl-4, -[dir="rtl"] .pl-4 { - padding-left: 0 !important; - padding-right: 1.5rem !important; -} - -.rtl px-4, -[dir="rtl"] px-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; -} - -.rtl .pr-5, -[dir="rtl"] .pr-5 { - padding-right: 0 !important; - padding-left: 3rem !important; -} - -.rtl .pl-5, -[dir="rtl"] .pl-5 { - padding-left: 0 !important; - padding-right: 3rem !important; -} - -.rtl px-5, -[dir="rtl"] px-5 { - padding-left: 3rem !important; - padding-right: 3rem !important; -} - -.rtl .mr-auto, -[dir="rtl"] .mr-auto { - margin-right: 0 !important; - margin-left: auto !important; -} - -.rtl .ml-auto, -[dir="rtl"] .ml-auto { - margin-right: auto !important; - margin-left: 0 !important; -} - -.rtl .mx-auto, -[dir="rtl"] .mx-auto { - margin-right: auto !important; - margin-left: auto !important; -} - -@media (min-width: 576px) { - .rtl .mr-sm-0, - [dir="rtl"] .mr-sm-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .rtl .ml-sm-0, - [dir="rtl"] .ml-sm-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .rtl mx-sm-0, - [dir="rtl"] mx-sm-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .rtl .mr-sm-1, - [dir="rtl"] .mr-sm-1 { - margin-right: 0 !important; - margin-left: 0.25rem !important; - } - .rtl .ml-sm-1, - [dir="rtl"] .ml-sm-1 { - margin-left: 0 !important; - margin-right: 0.25rem !important; - } - .rtl mx-sm-1, - [dir="rtl"] mx-sm-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .rtl .mr-sm-2, - [dir="rtl"] .mr-sm-2 { - margin-right: 0 !important; - margin-left: 0.5rem !important; - } - .rtl .ml-sm-2, - [dir="rtl"] .ml-sm-2 { - margin-left: 0 !important; - margin-right: 0.5rem !important; - } - .rtl mx-sm-2, - [dir="rtl"] mx-sm-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .rtl .mr-sm-3, - [dir="rtl"] .mr-sm-3 { - margin-right: 0 !important; - margin-left: 1rem !important; - } - .rtl .ml-sm-3, - [dir="rtl"] .ml-sm-3 { - margin-left: 0 !important; - margin-right: 1rem !important; - } - .rtl mx-sm-3, - [dir="rtl"] mx-sm-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .rtl .mr-sm-4, - [dir="rtl"] .mr-sm-4 { - margin-right: 0 !important; - margin-left: 1.5rem !important; - } - .rtl .ml-sm-4, - [dir="rtl"] .ml-sm-4 { - margin-left: 0 !important; - margin-right: 1.5rem !important; - } - .rtl mx-sm-4, - [dir="rtl"] mx-sm-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; - } - .rtl .mr-sm-5, - [dir="rtl"] .mr-sm-5 { - margin-right: 0 !important; - margin-left: 3rem !important; - } - .rtl .ml-sm-5, - [dir="rtl"] .ml-sm-5 { - margin-left: 0 !important; - margin-right: 3rem !important; - } - .rtl mx-sm-5, - [dir="rtl"] mx-sm-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; - } - .rtl .pr-sm-0, - [dir="rtl"] .pr-sm-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .rtl .pl-sm-0, - [dir="rtl"] .pl-sm-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .rtl px-sm-0, - [dir="rtl"] px-sm-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .rtl .pr-sm-1, - [dir="rtl"] .pr-sm-1 { - padding-right: 0 !important; - padding-left: 0.25rem !important; - } - .rtl .pl-sm-1, - [dir="rtl"] .pl-sm-1 { - padding-left: 0 !important; - padding-right: 0.25rem !important; - } - .rtl px-sm-1, - [dir="rtl"] px-sm-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .rtl .pr-sm-2, - [dir="rtl"] .pr-sm-2 { - padding-right: 0 !important; - padding-left: 0.5rem !important; - } - .rtl .pl-sm-2, - [dir="rtl"] .pl-sm-2 { - padding-left: 0 !important; - padding-right: 0.5rem !important; - } - .rtl px-sm-2, - [dir="rtl"] px-sm-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .rtl .pr-sm-3, - [dir="rtl"] .pr-sm-3 { - padding-right: 0 !important; - padding-left: 1rem !important; - } - .rtl .pl-sm-3, - [dir="rtl"] .pl-sm-3 { - padding-left: 0 !important; - padding-right: 1rem !important; - } - .rtl px-sm-3, - [dir="rtl"] px-sm-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .rtl .pr-sm-4, - [dir="rtl"] .pr-sm-4 { - padding-right: 0 !important; - padding-left: 1.5rem !important; - } - .rtl .pl-sm-4, - [dir="rtl"] .pl-sm-4 { - padding-left: 0 !important; - padding-right: 1.5rem !important; - } - .rtl px-sm-4, - [dir="rtl"] px-sm-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; - } - .rtl .pr-sm-5, - [dir="rtl"] .pr-sm-5 { - padding-right: 0 !important; - padding-left: 3rem !important; - } - .rtl .pl-sm-5, - [dir="rtl"] .pl-sm-5 { - padding-left: 0 !important; - padding-right: 3rem !important; - } - .rtl px-sm-5, - [dir="rtl"] px-sm-5 { - padding-left: 3rem !important; - padding-right: 3rem !important; - } - .rtl .mr-sm-auto, - [dir="rtl"] .mr-sm-auto { - margin-right: 0 !important; - margin-left: auto !important; - } - .rtl .ml-sm-auto, - [dir="rtl"] .ml-sm-auto { - margin-right: auto !important; - margin-left: 0 !important; - } - .rtl .mx-sm-auto, - [dir="rtl"] .mx-sm-auto { - margin-right: auto !important; - margin-left: auto !important; - } -} - -@media (min-width: 768px) { - .rtl .mr-md-0, - [dir="rtl"] .mr-md-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .rtl .ml-md-0, - [dir="rtl"] .ml-md-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .rtl mx-md-0, - [dir="rtl"] mx-md-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .rtl .mr-md-1, - [dir="rtl"] .mr-md-1 { - margin-right: 0 !important; - margin-left: 0.25rem !important; - } - .rtl .ml-md-1, - [dir="rtl"] .ml-md-1 { - margin-left: 0 !important; - margin-right: 0.25rem !important; - } - .rtl mx-md-1, - [dir="rtl"] mx-md-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .rtl .mr-md-2, - [dir="rtl"] .mr-md-2 { - margin-right: 0 !important; - margin-left: 0.5rem !important; - } - .rtl .ml-md-2, - [dir="rtl"] .ml-md-2 { - margin-left: 0 !important; - margin-right: 0.5rem !important; - } - .rtl mx-md-2, - [dir="rtl"] mx-md-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .rtl .mr-md-3, - [dir="rtl"] .mr-md-3 { - margin-right: 0 !important; - margin-left: 1rem !important; - } - .rtl .ml-md-3, - [dir="rtl"] .ml-md-3 { - margin-left: 0 !important; - margin-right: 1rem !important; - } - .rtl mx-md-3, - [dir="rtl"] mx-md-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .rtl .mr-md-4, - [dir="rtl"] .mr-md-4 { - margin-right: 0 !important; - margin-left: 1.5rem !important; - } - .rtl .ml-md-4, - [dir="rtl"] .ml-md-4 { - margin-left: 0 !important; - margin-right: 1.5rem !important; - } - .rtl mx-md-4, - [dir="rtl"] mx-md-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; - } - .rtl .mr-md-5, - [dir="rtl"] .mr-md-5 { - margin-right: 0 !important; - margin-left: 3rem !important; - } - .rtl .ml-md-5, - [dir="rtl"] .ml-md-5 { - margin-left: 0 !important; - margin-right: 3rem !important; - } - .rtl mx-md-5, - [dir="rtl"] mx-md-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; - } - .rtl .pr-md-0, - [dir="rtl"] .pr-md-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .rtl .pl-md-0, - [dir="rtl"] .pl-md-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .rtl px-md-0, - [dir="rtl"] px-md-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .rtl .pr-md-1, - [dir="rtl"] .pr-md-1 { - padding-right: 0 !important; - padding-left: 0.25rem !important; - } - .rtl .pl-md-1, - [dir="rtl"] .pl-md-1 { - padding-left: 0 !important; - padding-right: 0.25rem !important; - } - .rtl px-md-1, - [dir="rtl"] px-md-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .rtl .pr-md-2, - [dir="rtl"] .pr-md-2 { - padding-right: 0 !important; - padding-left: 0.5rem !important; - } - .rtl .pl-md-2, - [dir="rtl"] .pl-md-2 { - padding-left: 0 !important; - padding-right: 0.5rem !important; - } - .rtl px-md-2, - [dir="rtl"] px-md-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .rtl .pr-md-3, - [dir="rtl"] .pr-md-3 { - padding-right: 0 !important; - padding-left: 1rem !important; - } - .rtl .pl-md-3, - [dir="rtl"] .pl-md-3 { - padding-left: 0 !important; - padding-right: 1rem !important; - } - .rtl px-md-3, - [dir="rtl"] px-md-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .rtl .pr-md-4, - [dir="rtl"] .pr-md-4 { - padding-right: 0 !important; - padding-left: 1.5rem !important; - } - .rtl .pl-md-4, - [dir="rtl"] .pl-md-4 { - padding-left: 0 !important; - padding-right: 1.5rem !important; - } - .rtl px-md-4, - [dir="rtl"] px-md-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; - } - .rtl .pr-md-5, - [dir="rtl"] .pr-md-5 { - padding-right: 0 !important; - padding-left: 3rem !important; - } - .rtl .pl-md-5, - [dir="rtl"] .pl-md-5 { - padding-left: 0 !important; - padding-right: 3rem !important; - } - .rtl px-md-5, - [dir="rtl"] px-md-5 { - padding-left: 3rem !important; - padding-right: 3rem !important; - } - .rtl .mr-md-auto, - [dir="rtl"] .mr-md-auto { - margin-right: 0 !important; - margin-left: auto !important; - } - .rtl .ml-md-auto, - [dir="rtl"] .ml-md-auto { - margin-right: auto !important; - margin-left: 0 !important; - } - .rtl .mx-md-auto, - [dir="rtl"] .mx-md-auto { - margin-right: auto !important; - margin-left: auto !important; - } -} - -@media (min-width: 992px) { - .rtl .mr-lg-0, - [dir="rtl"] .mr-lg-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .rtl .ml-lg-0, - [dir="rtl"] .ml-lg-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .rtl mx-lg-0, - [dir="rtl"] mx-lg-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .rtl .mr-lg-1, - [dir="rtl"] .mr-lg-1 { - margin-right: 0 !important; - margin-left: 0.25rem !important; - } - .rtl .ml-lg-1, - [dir="rtl"] .ml-lg-1 { - margin-left: 0 !important; - margin-right: 0.25rem !important; - } - .rtl mx-lg-1, - [dir="rtl"] mx-lg-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .rtl .mr-lg-2, - [dir="rtl"] .mr-lg-2 { - margin-right: 0 !important; - margin-left: 0.5rem !important; - } - .rtl .ml-lg-2, - [dir="rtl"] .ml-lg-2 { - margin-left: 0 !important; - margin-right: 0.5rem !important; - } - .rtl mx-lg-2, - [dir="rtl"] mx-lg-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .rtl .mr-lg-3, - [dir="rtl"] .mr-lg-3 { - margin-right: 0 !important; - margin-left: 1rem !important; - } - .rtl .ml-lg-3, - [dir="rtl"] .ml-lg-3 { - margin-left: 0 !important; - margin-right: 1rem !important; - } - .rtl mx-lg-3, - [dir="rtl"] mx-lg-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .rtl .mr-lg-4, - [dir="rtl"] .mr-lg-4 { - margin-right: 0 !important; - margin-left: 1.5rem !important; - } - .rtl .ml-lg-4, - [dir="rtl"] .ml-lg-4 { - margin-left: 0 !important; - margin-right: 1.5rem !important; - } - .rtl mx-lg-4, - [dir="rtl"] mx-lg-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; - } - .rtl .mr-lg-5, - [dir="rtl"] .mr-lg-5 { - margin-right: 0 !important; - margin-left: 3rem !important; - } - .rtl .ml-lg-5, - [dir="rtl"] .ml-lg-5 { - margin-left: 0 !important; - margin-right: 3rem !important; - } - .rtl mx-lg-5, - [dir="rtl"] mx-lg-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; - } - .rtl .pr-lg-0, - [dir="rtl"] .pr-lg-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .rtl .pl-lg-0, - [dir="rtl"] .pl-lg-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .rtl px-lg-0, - [dir="rtl"] px-lg-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .rtl .pr-lg-1, - [dir="rtl"] .pr-lg-1 { - padding-right: 0 !important; - padding-left: 0.25rem !important; - } - .rtl .pl-lg-1, - [dir="rtl"] .pl-lg-1 { - padding-left: 0 !important; - padding-right: 0.25rem !important; - } - .rtl px-lg-1, - [dir="rtl"] px-lg-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .rtl .pr-lg-2, - [dir="rtl"] .pr-lg-2 { - padding-right: 0 !important; - padding-left: 0.5rem !important; - } - .rtl .pl-lg-2, - [dir="rtl"] .pl-lg-2 { - padding-left: 0 !important; - padding-right: 0.5rem !important; - } - .rtl px-lg-2, - [dir="rtl"] px-lg-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .rtl .pr-lg-3, - [dir="rtl"] .pr-lg-3 { - padding-right: 0 !important; - padding-left: 1rem !important; - } - .rtl .pl-lg-3, - [dir="rtl"] .pl-lg-3 { - padding-left: 0 !important; - padding-right: 1rem !important; - } - .rtl px-lg-3, - [dir="rtl"] px-lg-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .rtl .pr-lg-4, - [dir="rtl"] .pr-lg-4 { - padding-right: 0 !important; - padding-left: 1.5rem !important; - } - .rtl .pl-lg-4, - [dir="rtl"] .pl-lg-4 { - padding-left: 0 !important; - padding-right: 1.5rem !important; - } - .rtl px-lg-4, - [dir="rtl"] px-lg-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; - } - .rtl .pr-lg-5, - [dir="rtl"] .pr-lg-5 { - padding-right: 0 !important; - padding-left: 3rem !important; - } - .rtl .pl-lg-5, - [dir="rtl"] .pl-lg-5 { - padding-left: 0 !important; - padding-right: 3rem !important; - } - .rtl px-lg-5, - [dir="rtl"] px-lg-5 { - padding-left: 3rem !important; - padding-right: 3rem !important; - } - .rtl .mr-lg-auto, - [dir="rtl"] .mr-lg-auto { - margin-right: 0 !important; - margin-left: auto !important; - } - .rtl .ml-lg-auto, - [dir="rtl"] .ml-lg-auto { - margin-right: auto !important; - margin-left: 0 !important; - } - .rtl .mx-lg-auto, - [dir="rtl"] .mx-lg-auto { - margin-right: auto !important; - margin-left: auto !important; - } -} - -@media (min-width: 1200px) { - .rtl .mr-xl-0, - [dir="rtl"] .mr-xl-0 { - margin-right: 0 !important; - margin-left: 0 !important; - } - .rtl .ml-xl-0, - [dir="rtl"] .ml-xl-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .rtl mx-xl-0, - [dir="rtl"] mx-xl-0 { - margin-left: 0 !important; - margin-right: 0 !important; - } - .rtl .mr-xl-1, - [dir="rtl"] .mr-xl-1 { - margin-right: 0 !important; - margin-left: 0.25rem !important; - } - .rtl .ml-xl-1, - [dir="rtl"] .ml-xl-1 { - margin-left: 0 !important; - margin-right: 0.25rem !important; - } - .rtl mx-xl-1, - [dir="rtl"] mx-xl-1 { - margin-left: 0.25rem !important; - margin-right: 0.25rem !important; - } - .rtl .mr-xl-2, - [dir="rtl"] .mr-xl-2 { - margin-right: 0 !important; - margin-left: 0.5rem !important; - } - .rtl .ml-xl-2, - [dir="rtl"] .ml-xl-2 { - margin-left: 0 !important; - margin-right: 0.5rem !important; - } - .rtl mx-xl-2, - [dir="rtl"] mx-xl-2 { - margin-left: 0.5rem !important; - margin-right: 0.5rem !important; - } - .rtl .mr-xl-3, - [dir="rtl"] .mr-xl-3 { - margin-right: 0 !important; - margin-left: 1rem !important; - } - .rtl .ml-xl-3, - [dir="rtl"] .ml-xl-3 { - margin-left: 0 !important; - margin-right: 1rem !important; - } - .rtl mx-xl-3, - [dir="rtl"] mx-xl-3 { - margin-left: 1rem !important; - margin-right: 1rem !important; - } - .rtl .mr-xl-4, - [dir="rtl"] .mr-xl-4 { - margin-right: 0 !important; - margin-left: 1.5rem !important; - } - .rtl .ml-xl-4, - [dir="rtl"] .ml-xl-4 { - margin-left: 0 !important; - margin-right: 1.5rem !important; - } - .rtl mx-xl-4, - [dir="rtl"] mx-xl-4 { - margin-left: 1.5rem !important; - margin-right: 1.5rem !important; - } - .rtl .mr-xl-5, - [dir="rtl"] .mr-xl-5 { - margin-right: 0 !important; - margin-left: 3rem !important; - } - .rtl .ml-xl-5, - [dir="rtl"] .ml-xl-5 { - margin-left: 0 !important; - margin-right: 3rem !important; - } - .rtl mx-xl-5, - [dir="rtl"] mx-xl-5 { - margin-left: 3rem !important; - margin-right: 3rem !important; - } - .rtl .pr-xl-0, - [dir="rtl"] .pr-xl-0 { - padding-right: 0 !important; - padding-left: 0 !important; - } - .rtl .pl-xl-0, - [dir="rtl"] .pl-xl-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .rtl px-xl-0, - [dir="rtl"] px-xl-0 { - padding-left: 0 !important; - padding-right: 0 !important; - } - .rtl .pr-xl-1, - [dir="rtl"] .pr-xl-1 { - padding-right: 0 !important; - padding-left: 0.25rem !important; - } - .rtl .pl-xl-1, - [dir="rtl"] .pl-xl-1 { - padding-left: 0 !important; - padding-right: 0.25rem !important; - } - .rtl px-xl-1, - [dir="rtl"] px-xl-1 { - padding-left: 0.25rem !important; - padding-right: 0.25rem !important; - } - .rtl .pr-xl-2, - [dir="rtl"] .pr-xl-2 { - padding-right: 0 !important; - padding-left: 0.5rem !important; - } - .rtl .pl-xl-2, - [dir="rtl"] .pl-xl-2 { - padding-left: 0 !important; - padding-right: 0.5rem !important; - } - .rtl px-xl-2, - [dir="rtl"] px-xl-2 { - padding-left: 0.5rem !important; - padding-right: 0.5rem !important; - } - .rtl .pr-xl-3, - [dir="rtl"] .pr-xl-3 { - padding-right: 0 !important; - padding-left: 1rem !important; - } - .rtl .pl-xl-3, - [dir="rtl"] .pl-xl-3 { - padding-left: 0 !important; - padding-right: 1rem !important; - } - .rtl px-xl-3, - [dir="rtl"] px-xl-3 { - padding-left: 1rem !important; - padding-right: 1rem !important; - } - .rtl .pr-xl-4, - [dir="rtl"] .pr-xl-4 { - padding-right: 0 !important; - padding-left: 1.5rem !important; - } - .rtl .pl-xl-4, - [dir="rtl"] .pl-xl-4 { - padding-left: 0 !important; - padding-right: 1.5rem !important; - } - .rtl px-xl-4, - [dir="rtl"] px-xl-4 { - padding-left: 1.5rem !important; - padding-right: 1.5rem !important; - } - .rtl .pr-xl-5, - [dir="rtl"] .pr-xl-5 { - padding-right: 0 !important; - padding-left: 3rem !important; - } - .rtl .pl-xl-5, - [dir="rtl"] .pl-xl-5 { - padding-left: 0 !important; - padding-right: 3rem !important; - } - .rtl px-xl-5, - [dir="rtl"] px-xl-5 { - padding-left: 3rem !important; - padding-right: 3rem !important; - } - .rtl .mr-xl-auto, - [dir="rtl"] .mr-xl-auto { - margin-right: 0 !important; - margin-left: auto !important; - } - .rtl .ml-xl-auto, - [dir="rtl"] .ml-xl-auto { - margin-right: auto !important; - margin-left: 0 !important; - } - .rtl .mx-xl-auto, - [dir="rtl"] .mx-xl-auto { - margin-right: auto !important; - margin-left: auto !important; - } -} - -.rtl .text-right, -[dir="rtl"] .text-right { - text-align: left !important; -} - -.rtl .text-left, -[dir="rtl"] .text-left { - text-align: right !important; -} - -@media (min-width: 576px) { - .rtl .text-sm-right, - [dir="rtl"] .text-sm-right { - text-align: left !important; - } - .rtl .text-sm-left, - [dir="rtl"] .text-sm-left { - text-align: right !important; - } -} - -@media (min-width: 768px) { - .rtl .text-md-right, - [dir="rtl"] .text-md-right { - text-align: left !important; - } - .rtl .text-md-left, - [dir="rtl"] .text-md-left { - text-align: right !important; - } -} - -@media (min-width: 992px) { - .rtl .text-lg-right, - [dir="rtl"] .text-lg-right { - text-align: left !important; - } - .rtl .text-lg-left, - [dir="rtl"] .text-lg-left { - text-align: right !important; - } -} - -@media (min-width: 1200px) { - .rtl .text-xl-right, - [dir="rtl"] .text-xl-right { - text-align: left !important; - } - .rtl .text-xl-left, - [dir="rtl"] .text-xl-left { - text-align: right !important; - } -} -/*# sourceMappingURL=bootstrap-rtl.css.map */ \ No newline at end of file diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map deleted file mode 100644 index 69262df6..00000000 --- a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/bootstrap/css/bootstrap-rtl.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-rtl.scss","bootstrap-rtl.css","../../scss/_root.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_hover.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_border-radius.scss","../../scss/_code.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_breakpoints.scss","../../scss/mixins/_grid-framework.scss","../../scss/_tables.scss","../../scss/mixins/_table-row.scss","../../scss/_functions.scss","../../scss/_forms.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_forms.scss","../../scss/mixins/_gradients.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/mixins/_nav-divider.scss","../../scss/_button-group.scss","../../scss/_input-group.scss","../../scss/_custom-forms.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/mixins/_badge.scss","../../scss/_jumbotron.scss","../../scss/_alert.scss","../../scss/mixins/_alert.scss","../../scss/_progress.scss","../../scss/_media.scss","../../scss/_list-group.scss","../../scss/mixins/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/utilities/_align.scss","../../scss/mixins/_background-variant.scss","../../scss/utilities/_background.scss","../../scss/utilities/_borders.scss","../../scss/utilities/_display.scss","../../scss/utilities/_embed.scss","../../scss/utilities/_flex.scss","../../scss/utilities/_float.scss","../../scss/utilities/_interactions.scss","../../scss/utilities/_overflow.scss","../../scss/utilities/_position.scss","../../scss/utilities/_screenreaders.scss","../../scss/mixins/_screen-reader.scss","../../scss/utilities/_shadows.scss","../../scss/utilities/_sizing.scss","../../scss/utilities/_spacing.scss","../../scss/utilities/_stretched-link.scss","../../scss/utilities/_text.scss","../../scss/mixins/_text-truncate.scss","../../scss/mixins/_text-emphasis.scss","../../scss/mixins/_text-hide.scss","../../scss/utilities/_visibility.scss","../../scss/_print.scss","../../scss/_rtl.scss"],"names":[],"mappings":"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E,wBAAwB;AFxH1B;;AEgIA;EACE,aAAa;EACb,0BAA0B;AF7H5B;;AEoIA;EACE,qBAAqB;AFjIvB;;AEoIA;EACE,kBAAkB;EAClB,eAAe;AFjIjB;;AEoIA;EACE,aAAa;AFjIf;;AAEA;EEqIE,wBAAwB;AFnI1B;;AMzVA;;EAEE,qBHqSuC;EGnSvC,gBHqS+B;EGpS/B,gBHqS+B;AHsDjC;;AMvVA;EFgHM,iBAtCY;AJiRlB;;AM1VA;EF+GM,eAtCY;AJqRlB;;AM7VA;EF8GM,kBAtCY;AJyRlB;;AMhWA;EF6GM,iBAtCY;AJ6RlB;;AMnWA;EF4GM,kBAtCY;AJiSlB;;AMtWA;EF2GM,eAtCY;AJqSlB;;AMxWA;EFyGM,kBAtCY;EEjEhB,gBHuS+B;AHoEjC;;AMvWA;EFmGM,eAtCY;EE3DhB,gBH0R+B;EGzR/B,gBHiR+B;AHyFjC;;AMxWA;EF8FM,iBAtCY;EEtDhB,gBHsR+B;EGrR/B,gBH4Q+B;AH+FjC;;AMzWA;EFyFM,iBAtCY;EEjDhB,gBHkR+B;EGjR/B,gBHuQ+B;AHqGjC;;AM1WA;EFoFM,iBAtCY;EE5ChB,gBH8Q+B;EG7Q/B,gBHkQ+B;AH2GjC;;AEhVA;EIpBE,gBHgFW;EG/EX,mBH+EW;EG9EX,SAAS;EACT,wCHzCa;AHiZf;;AMhWA;;EFMI,cAAW;EEHb,gBH0N+B;AHyIjC;;AMhWA;;EAEE,cHkQgC;EGjQhC,yBH0QmC;AHyFrC;;AM3VA;EC/EE,eAAe;EACf,gBAAgB;AP8alB;;AM3VA;ECpFE,eAAe;EACf,gBAAgB;APmblB;;AM7VA;EACE,qBAAqB;ANgWvB;;AMjWA;EAII,oBHoP+B;AH6GnC;;AMvVA;EFjCI,cAAW;EEmCb,yBAAyB;AN0V3B;;AMtVA;EACE,mBHuBW;ECRP,kBAtCY;AJiXlB;;AMtVA;EACE,cAAc;EF7CZ,cAAW;EE+Cb,cH1GgB;AHmclB;;AM5VA;EAMI,qBAAqB;AN0VzB;;AQ7cA;ECIE,eAAe;EAGf,YAAY;AT2cd;;AQ5cA;EACE,gBLmgCwC;EKlgCxC,sBLRa;EKSb,yBLNgB;EOQd,sBP6NgC;EMpOlC,eAAe;EAGf,YAAY;ATodd;;AQtcA;EAEE,qBAAqB;ARwcvB;;AQrcA;EACE,qBAA0B;EAC1B,cAAc;ARwchB;;AQrcA;EJkCI,cAAW;EIhCb,cL3BgB;AHmelB;;AW/eA;EPuEI,gBAAW;EOrEb,cRmCe;EQlCf,qBAAqB;AXkfvB;;AW/eE;EACE,cAAc;AXkflB;;AW7eA;EACE,sBRulCuC;EC7hCrC,gBAAW;EOxDb,WRTa;EQUb,yBRDgB;EOEd,qBP+N+B;AHiRnC;;AWrfA;EASI,UAAU;EPkDV,eAAW;EOhDX,gBRwQ6B;AHwOjC;;AExSA;ESjME,cAAc;EPyCZ,gBAAW;EOvCb,cRjBgB;AH8flB;;AWhfA;EP0CI,kBAAW;EOlCX,cAAc;EACd,kBAAkB;AX6etB;;AWxeA;EACE,iBR8jCuC;EQ7jCvC,kBAAkB;AX2epB;;AYnhBE;;;;;;ECDA,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;EACzB,kBAAkB;EAClB,iBAAiB;Ab6hBnB;;Ac1eI;EFzCE;IACE,gBT+LG;EHwVT;AACF;;AchfI;EFzCE;IACE,gBTgMG;EH6VT;AACF;;ActfI;EFzCE;IACE,gBTiMG;EHkWT;AACF;;Ac5fI;EFzCE;IACE,iBTkMI;EHuWV;AACF;;AY9gBE;ECnCA,aAAa;EACb,eAAe;EACf,mBAA0B;EAC1B,kBAAyB;AbqjB3B;;AY/gBE;EACE,eAAe;EACf,cAAc;AZkhBlB;;AYphBE;;EAMI,gBAAgB;EAChB,eAAe;AZmhBrB;;AezkBE;;;;;;EACE,kBAAkB;EAClB,WAAW;EACX,mBAA0B;EAC1B,kBAAyB;AfilB7B;;Ae3jBM;EACE,aAAa;EACb,YAAY;EACZ,eAAe;Af8jBvB;;AezjBU;EFwBN,cAAuB;EACvB,eAAwB;AbqiB5B;;Ae9jBU;EFwBN,aAAuB;EACvB,cAAwB;Ab0iB5B;;AenkBU;EFwBN,oBAAuB;EACvB,qBAAwB;Ab+iB5B;;AexkBU;EFwBN,aAAuB;EACvB,cAAwB;AbojB5B;;Ae7kBU;EFwBN,aAAuB;EACvB,cAAwB;AbyjB5B;;AellBU;EFwBN,oBAAuB;EACvB,qBAAwB;Ab8jB5B;;AejlBM;EFCJ,cAAc;EACd,WAAW;EACX,eAAe;AbolBjB;;AejlBU;EFbR,mBAAsC;EAItC,oBAAuC;Ab+lBzC;;AetlBU;EFbR,oBAAsC;EAItC,qBAAuC;AbomBzC;;Ae3lBU;EFbR,aAAsC;EAItC,cAAuC;AbymBzC;;AehmBU;EFbR,oBAAsC;EAItC,qBAAuC;Ab8mBzC;;AermBU;EFbR,oBAAsC;EAItC,qBAAuC;AbmnBzC;;Ae1mBU;EFbR,aAAsC;EAItC,cAAuC;AbwnBzC;;Ae/mBU;EFbR,oBAAsC;EAItC,qBAAuC;Ab6nBzC;;AepnBU;EFbR,oBAAsC;EAItC,qBAAuC;AbkoBzC;;AeznBU;EFbR,aAAsC;EAItC,cAAuC;AbuoBzC;;Ae9nBU;EFbR,oBAAsC;EAItC,qBAAuC;Ab4oBzC;;AenoBU;EFbR,oBAAsC;EAItC,qBAAuC;AbipBzC;;AexoBU;EFbR,cAAsC;EAItC,eAAuC;AbspBzC;;AevoBM;EAAwB,SAAS;Af2oBvC;;AezoBM;EAAuB,SZmKG;AH0ehC;;Ae1oBQ;EAAwB,QADZ;Af+oBpB;;Ae9oBQ;EAAwB,QADZ;AfmpBpB;;AelpBQ;EAAwB,QADZ;AfupBpB;;AetpBQ;EAAwB,QADZ;Af2pBpB;;Ae1pBQ;EAAwB,QADZ;Af+pBpB;;Ae9pBQ;EAAwB,QADZ;AfmqBpB;;AelqBQ;EAAwB,QADZ;AfuqBpB;;AetqBQ;EAAwB,QADZ;Af2qBpB;;Ae1qBQ;EAAwB,QADZ;Af+qBpB;;Ae9qBQ;EAAwB,QADZ;AfmrBpB;;AelrBQ;EAAwB,SADZ;AfurBpB;;AetrBQ;EAAwB,SADZ;Af2rBpB;;Ae1rBQ;EAAwB,SADZ;Af+rBpB;;AevrBY;EFhBV,sBAA8C;Ab2sBhD;;Ae3rBY;EFhBV,uBAA8C;Ab+sBhD;;Ae/rBY;EFhBV,gBAA8C;AbmtBhD;;AensBY;EFhBV,uBAA8C;AbutBhD;;AevsBY;EFhBV,uBAA8C;Ab2tBhD;;Ae3sBY;EFhBV,gBAA8C;Ab+tBhD;;Ae/sBY;EFhBV,uBAA8C;AbmuBhD;;AentBY;EFhBV,uBAA8C;AbuuBhD;;AevtBY;EFhBV,gBAA8C;Ab2uBhD;;Ae3tBY;EFhBV,uBAA8C;Ab+uBhD;;Ae/tBY;EFhBV,uBAA8C;AbmvBhD;;Ac9uBI;EC3BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ef6wBrB;EexwBQ;IFwBN,cAAuB;IACvB,eAAwB;EbmvB1B;Ee5wBQ;IFwBN,aAAuB;IACvB,cAAwB;EbuvB1B;EehxBQ;IFwBN,oBAAuB;IACvB,qBAAwB;Eb2vB1B;EepxBQ;IFwBN,aAAuB;IACvB,cAAwB;Eb+vB1B;EexxBQ;IFwBN,aAAuB;IACvB,cAAwB;EbmwB1B;Ee5xBQ;IFwBN,oBAAuB;IACvB,qBAAwB;EbuwB1B;Ee1xBI;IFCJ,cAAc;IACd,WAAW;IACX,eAAe;Eb4xBf;EezxBQ;IFbR,mBAAsC;IAItC,oBAAuC;EbsyBvC;Ee7xBQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb0yBvC;EejyBQ;IFbR,aAAsC;IAItC,cAAuC;Eb8yBvC;EeryBQ;IFbR,oBAAsC;IAItC,qBAAuC;EbkzBvC;EezyBQ;IFbR,oBAAsC;IAItC,qBAAuC;EbszBvC;Ee7yBQ;IFbR,aAAsC;IAItC,cAAuC;Eb0zBvC;EejzBQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb8zBvC;EerzBQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebk0BvC;EezzBQ;IFbR,aAAsC;IAItC,cAAuC;Ebs0BvC;Ee7zBQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb00BvC;Eej0BQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb80BvC;Eer0BQ;IFbR,cAAsC;IAItC,eAAuC;Ebk1BvC;Een0BI;IAAwB,SAAS;Efs0BrC;Eep0BI;IAAuB,SZmKG;EHoqB9B;Eep0BM;IAAwB,QADZ;Efw0BlB;Eev0BM;IAAwB,QADZ;Ef20BlB;Ee10BM;IAAwB,QADZ;Ef80BlB;Ee70BM;IAAwB,QADZ;Efi1BlB;Eeh1BM;IAAwB,QADZ;Efo1BlB;Een1BM;IAAwB,QADZ;Efu1BlB;Eet1BM;IAAwB,QADZ;Ef01BlB;Eez1BM;IAAwB,QADZ;Ef61BlB;Ee51BM;IAAwB,QADZ;Efg2BlB;Ee/1BM;IAAwB,QADZ;Efm2BlB;Eel2BM;IAAwB,SADZ;Efs2BlB;Eer2BM;IAAwB,SADZ;Efy2BlB;Eex2BM;IAAwB,SADZ;Ef42BlB;Eep2BU;IFhBV,cAA4B;Ebu3B5B;Eev2BU;IFhBV,sBAA8C;Eb03B9C;Ee12BU;IFhBV,uBAA8C;Eb63B9C;Ee72BU;IFhBV,gBAA8C;Ebg4B9C;Eeh3BU;IFhBV,uBAA8C;Ebm4B9C;Een3BU;IFhBV,uBAA8C;Ebs4B9C;Eet3BU;IFhBV,gBAA8C;Eby4B9C;Eez3BU;IFhBV,uBAA8C;Eb44B9C;Ee53BU;IFhBV,uBAA8C;Eb+4B9C;Ee/3BU;IFhBV,gBAA8C;Ebk5B9C;Eel4BU;IFhBV,uBAA8C;Ebq5B9C;Eer4BU;IFhBV,uBAA8C;Ebw5B9C;AACF;;Acp5BI;EC3BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Efm7BrB;Ee96BQ;IFwBN,cAAuB;IACvB,eAAwB;Eby5B1B;Eel7BQ;IFwBN,aAAuB;IACvB,cAAwB;Eb65B1B;Eet7BQ;IFwBN,oBAAuB;IACvB,qBAAwB;Ebi6B1B;Ee17BQ;IFwBN,aAAuB;IACvB,cAAwB;Ebq6B1B;Ee97BQ;IFwBN,aAAuB;IACvB,cAAwB;Eby6B1B;Eel8BQ;IFwBN,oBAAuB;IACvB,qBAAwB;Eb66B1B;Eeh8BI;IFCJ,cAAc;IACd,WAAW;IACX,eAAe;Ebk8Bf;Ee/7BQ;IFbR,mBAAsC;IAItC,oBAAuC;Eb48BvC;Een8BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebg9BvC;Eev8BQ;IFbR,aAAsC;IAItC,cAAuC;Ebo9BvC;Ee38BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebw9BvC;Ee/8BQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb49BvC;Een9BQ;IFbR,aAAsC;IAItC,cAAuC;Ebg+BvC;Eev9BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebo+BvC;Ee39BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebw+BvC;Ee/9BQ;IFbR,aAAsC;IAItC,cAAuC;Eb4+BvC;Een+BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebg/BvC;Eev+BQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebo/BvC;Ee3+BQ;IFbR,cAAsC;IAItC,eAAuC;Ebw/BvC;Eez+BI;IAAwB,SAAS;Ef4+BrC;Ee1+BI;IAAuB,SZmKG;EH00B9B;Ee1+BM;IAAwB,QADZ;Ef8+BlB;Ee7+BM;IAAwB,QADZ;Efi/BlB;Eeh/BM;IAAwB,QADZ;Efo/BlB;Een/BM;IAAwB,QADZ;Efu/BlB;Eet/BM;IAAwB,QADZ;Ef0/BlB;Eez/BM;IAAwB,QADZ;Ef6/BlB;Ee5/BM;IAAwB,QADZ;EfggClB;Ee//BM;IAAwB,QADZ;EfmgClB;EelgCM;IAAwB,QADZ;EfsgClB;EergCM;IAAwB,QADZ;EfygClB;EexgCM;IAAwB,SADZ;Ef4gClB;Ee3gCM;IAAwB,SADZ;Ef+gClB;Ee9gCM;IAAwB,SADZ;EfkhClB;Ee1gCU;IFhBV,cAA4B;Eb6hC5B;Ee7gCU;IFhBV,sBAA8C;EbgiC9C;EehhCU;IFhBV,uBAA8C;EbmiC9C;EenhCU;IFhBV,gBAA8C;EbsiC9C;EethCU;IFhBV,uBAA8C;EbyiC9C;EezhCU;IFhBV,uBAA8C;Eb4iC9C;Ee5hCU;IFhBV,gBAA8C;Eb+iC9C;Ee/hCU;IFhBV,uBAA8C;EbkjC9C;EeliCU;IFhBV,uBAA8C;EbqjC9C;EeriCU;IFhBV,gBAA8C;EbwjC9C;EexiCU;IFhBV,uBAA8C;Eb2jC9C;Ee3iCU;IFhBV,uBAA8C;Eb8jC9C;AACF;;Ac1jCI;EC3BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;EfylCrB;EeplCQ;IFwBN,cAAuB;IACvB,eAAwB;Eb+jC1B;EexlCQ;IFwBN,aAAuB;IACvB,cAAwB;EbmkC1B;Ee5lCQ;IFwBN,oBAAuB;IACvB,qBAAwB;EbukC1B;EehmCQ;IFwBN,aAAuB;IACvB,cAAwB;Eb2kC1B;EepmCQ;IFwBN,aAAuB;IACvB,cAAwB;Eb+kC1B;EexmCQ;IFwBN,oBAAuB;IACvB,qBAAwB;EbmlC1B;EetmCI;IFCJ,cAAc;IACd,WAAW;IACX,eAAe;EbwmCf;EermCQ;IFbR,mBAAsC;IAItC,oBAAuC;EbknCvC;EezmCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbsnCvC;Ee7mCQ;IFbR,aAAsC;IAItC,cAAuC;Eb0nCvC;EejnCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb8nCvC;EernCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbkoCvC;EeznCQ;IFbR,aAAsC;IAItC,cAAuC;EbsoCvC;Ee7nCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb0oCvC;EejoCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb8oCvC;EeroCQ;IFbR,aAAsC;IAItC,cAAuC;EbkpCvC;EezoCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbspCvC;Ee7oCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb0pCvC;EejpCQ;IFbR,cAAsC;IAItC,eAAuC;Eb8pCvC;Ee/oCI;IAAwB,SAAS;EfkpCrC;EehpCI;IAAuB,SZmKG;EHg/B9B;EehpCM;IAAwB,QADZ;EfopClB;EenpCM;IAAwB,QADZ;EfupClB;EetpCM;IAAwB,QADZ;Ef0pClB;EezpCM;IAAwB,QADZ;Ef6pClB;Ee5pCM;IAAwB,QADZ;EfgqClB;Ee/pCM;IAAwB,QADZ;EfmqClB;EelqCM;IAAwB,QADZ;EfsqClB;EerqCM;IAAwB,QADZ;EfyqClB;EexqCM;IAAwB,QADZ;Ef4qClB;Ee3qCM;IAAwB,QADZ;Ef+qClB;Ee9qCM;IAAwB,SADZ;EfkrClB;EejrCM;IAAwB,SADZ;EfqrClB;EeprCM;IAAwB,SADZ;EfwrClB;EehrCU;IFhBV,cAA4B;EbmsC5B;EenrCU;IFhBV,sBAA8C;EbssC9C;EetrCU;IFhBV,uBAA8C;EbysC9C;EezrCU;IFhBV,gBAA8C;Eb4sC9C;Ee5rCU;IFhBV,uBAA8C;Eb+sC9C;Ee/rCU;IFhBV,uBAA8C;EbktC9C;EelsCU;IFhBV,gBAA8C;EbqtC9C;EersCU;IFhBV,uBAA8C;EbwtC9C;EexsCU;IFhBV,uBAA8C;Eb2tC9C;Ee3sCU;IFhBV,gBAA8C;Eb8tC9C;Ee9sCU;IFhBV,uBAA8C;EbiuC9C;EejtCU;IFhBV,uBAA8C;EbouC9C;AACF;;AchuCI;EC3BE;IACE,aAAa;IACb,YAAY;IACZ,eAAe;Ef+vCrB;Ee1vCQ;IFwBN,cAAuB;IACvB,eAAwB;EbquC1B;Ee9vCQ;IFwBN,aAAuB;IACvB,cAAwB;EbyuC1B;EelwCQ;IFwBN,oBAAuB;IACvB,qBAAwB;Eb6uC1B;EetwCQ;IFwBN,aAAuB;IACvB,cAAwB;EbivC1B;Ee1wCQ;IFwBN,aAAuB;IACvB,cAAwB;EbqvC1B;Ee9wCQ;IFwBN,oBAAuB;IACvB,qBAAwB;EbyvC1B;Ee5wCI;IFCJ,cAAc;IACd,WAAW;IACX,eAAe;Eb8wCf;Ee3wCQ;IFbR,mBAAsC;IAItC,oBAAuC;EbwxCvC;Ee/wCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb4xCvC;EenxCQ;IFbR,aAAsC;IAItC,cAAuC;EbgyCvC;EevxCQ;IFbR,oBAAsC;IAItC,qBAAuC;EboyCvC;Ee3xCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbwyCvC;Ee/xCQ;IFbR,aAAsC;IAItC,cAAuC;Eb4yCvC;EenyCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbgzCvC;EevyCQ;IFbR,oBAAsC;IAItC,qBAAuC;EbozCvC;Ee3yCQ;IFbR,aAAsC;IAItC,cAAuC;EbwzCvC;Ee/yCQ;IFbR,oBAAsC;IAItC,qBAAuC;Eb4zCvC;EenzCQ;IFbR,oBAAsC;IAItC,qBAAuC;Ebg0CvC;EevzCQ;IFbR,cAAsC;IAItC,eAAuC;Ebo0CvC;EerzCI;IAAwB,SAAS;EfwzCrC;EetzCI;IAAuB,SZmKG;EHspC9B;EetzCM;IAAwB,QADZ;Ef0zClB;EezzCM;IAAwB,QADZ;Ef6zClB;Ee5zCM;IAAwB,QADZ;Efg0ClB;Ee/zCM;IAAwB,QADZ;Efm0ClB;Eel0CM;IAAwB,QADZ;Efs0ClB;Eer0CM;IAAwB,QADZ;Efy0ClB;Eex0CM;IAAwB,QADZ;Ef40ClB;Ee30CM;IAAwB,QADZ;Ef+0ClB;Ee90CM;IAAwB,QADZ;Efk1ClB;Eej1CM;IAAwB,QADZ;Efq1ClB;Eep1CM;IAAwB,SADZ;Efw1ClB;Eev1CM;IAAwB,SADZ;Ef21ClB;Ee11CM;IAAwB,SADZ;Ef81ClB;Eet1CU;IFhBV,cAA4B;Eby2C5B;Eez1CU;IFhBV,sBAA8C;Eb42C9C;Ee51CU;IFhBV,uBAA8C;Eb+2C9C;Ee/1CU;IFhBV,gBAA8C;Ebk3C9C;Eel2CU;IFhBV,uBAA8C;Ebq3C9C;Eer2CU;IFhBV,uBAA8C;Ebw3C9C;Eex2CU;IFhBV,gBAA8C;Eb23C9C;Ee32CU;IFhBV,uBAA8C;Eb83C9C;Ee92CU;IFhBV,uBAA8C;Ebi4C9C;Eej3CU;IFhBV,gBAA8C;Ebo4C9C;Eep3CU;IFhBV,uBAA8C;Ebu4C9C;Eev3CU;IFhBV,uBAA8C;Eb04C9C;AACF;;AgB97CA;EACE,WAAW;EACX,mBbiIW;EahIX,cbSgB;AHw7ClB;;AgBp8CA;;EAQI,gBbkVgC;EajVhC,mBAAmB;EACnB,6BbJc;AHq8ClB;;AgB38CA;EAcI,sBAAsB;EACtB,gCbTc;AH08ClB;;AgBh9CA;EAmBI,6Bbbc;AH88ClB;;AgBx7CA;;EAGI,eb4T+B;AH8nCnC;;AgBj7CA;EACE,yBbnCgB;AHu9ClB;;AgBr7CA;;EAKI,yBbvCc;AH49ClB;;AgB17CA;;EAWM,wBAA4C;AhBo7ClD;;AgB/6CA;;;;EAKI,SAAS;AhBi7Cb;;AgBz6CA;EAEI,qCb1DW;AHq+Cf;;AK1+CE;EW2EI,cbvEY;EawEZ,sCbvES;AH0+Cf;;AiBt/CE;;;EAII,yBCgG4D;AlBw5ClE;;AiB5/CE;;;;EAYM,qBCwF0D;AlB+5ClE;;AK5/CE;EYiBM,yBAJsC;AjBm/C9C;;AiBp/CE;;EASQ,yBARoC;AjBw/C9C;;AiB5gDE;;;EAII,yBCgG4D;AlB86ClE;;AiBlhDE;;;;EAYM,qBCwF0D;AlBq7ClE;;AKlhDE;EYiBM,yBAJsC;AjBygD9C;;AiB1gDE;;EASQ,yBARoC;AjB8gD9C;;AiBliDE;;;EAII,yBCgG4D;AlBo8ClE;;AiBxiDE;;;;EAYM,qBCwF0D;AlB28ClE;;AKxiDE;EYiBM,yBAJsC;AjB+hD9C;;AiBhiDE;;EASQ,yBARoC;AjBoiD9C;;AiBxjDE;;;EAII,yBCgG4D;AlB09ClE;;AiB9jDE;;;;EAYM,qBCwF0D;AlBi+ClE;;AK9jDE;EYiBM,yBAJsC;AjBqjD9C;;AiBtjDE;;EASQ,yBARoC;AjB0jD9C;;AiB9kDE;;;EAII,yBCgG4D;AlBg/ClE;;AiBplDE;;;;EAYM,qBCwF0D;AlBu/ClE;;AKplDE;EYiBM,yBAJsC;AjB2kD9C;;AiB5kDE;;EASQ,yBARoC;AjBglD9C;;AiBpmDE;;;EAII,yBCgG4D;AlBsgDlE;;AiB1mDE;;;;EAYM,qBCwF0D;AlB6gDlE;;AK1mDE;EYiBM,yBAJsC;AjBimD9C;;AiBlmDE;;EASQ,yBARoC;AjBsmD9C;;AiB1nDE;;;EAII,yBCgG4D;AlB4hDlE;;AiBhoDE;;;;EAYM,qBCwF0D;AlBmiDlE;;AKhoDE;EYiBM,yBAJsC;AjBunD9C;;AiBxnDE;;EASQ,yBARoC;AjB4nD9C;;AiBhpDE;;;EAII,yBCgG4D;AlBkjDlE;;AiBtpDE;;;;EAYM,qBCwF0D;AlByjDlE;;AKtpDE;EYiBM,yBAJsC;AjB6oD9C;;AiB9oDE;;EASQ,yBARoC;AjBkpD9C;;AiBtqDE;;;EAII,sCdQS;AHgqDf;;AKrqDE;EYiBM,sCAJsC;AjB4pD9C;;AiB7pDE;;EASQ,sCARoC;AjBiqD9C;;AgB3kDA;EAGM,Wb3GS;Ea4GT,yBbpGY;EaqGZ,qBbgQqD;AH40C3D;;AgBjlDA;EAWM,cb5GY;Ea6GZ,yBblHY;EamHZ,qBblHY;AH4rDlB;;AgBrkDA;EACE,Wb3Ha;Ea4Hb,yBbpHgB;AH4rDlB;;AgB1kDA;;;EAOI,qBb4OuD;AH61C3D;;AgBhlDA;EAWI,SAAS;AhBykDb;;AgBplDA;EAgBM,2Cb1IS;AHktDf;;AK7sDE;EW4IM,WbjJO;EakJP,4CblJO;AHutDf;;AcrpDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBujDvC;EgB5jDG;IASK,SAAS;EhBsjDjB;AACF;;AcjqDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhBmkDvC;EgBxkDG;IASK,SAAS;EhBkkDjB;AACF;;Ac7qDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB+kDvC;EgBplDG;IASK,SAAS;EhB8kDjB;AACF;;AczrDI;EEiGA;IAEI,cAAc;IACd,WAAW;IACX,gBAAgB;IAChB,iCAAiC;EhB2lDvC;EgBhmDG;IASK,SAAS;EhB0lDjB;AACF;;AgBzmDA;EAOQ,cAAc;EACd,WAAW;EACX,gBAAgB;EAChB,iCAAiC;AhBsmDzC;;AgBhnDA;EAcU,SAAS;AhBsmDnB;;AmBnxDA;EACE,cAAc;EACd,WAAW;EACX,mCDiH8D;EChH9D,yBhByXkC;ECpQ9B,eAtCY;Ee5EhB,gBhBkR+B;EgBjR/B,gBhBsR+B;EgBrR/B,chBDgB;EgBEhB,sBhBTa;EgBUb,4BAA4B;EAC5B,yBhBPgB;EOOd,sBP6NgC;EiB/N9B,wEjBue4F;AHkzClG;;AoBrxDM;EDdN;ICeQ,gBAAgB;EpByxDtB;AACF;;AmBzyDA;EAsBI,6BAA6B;EAC7B,SAAS;AnBuxDb;;AmB9yDA;EA4BI,kBAAkB;EAClB,0BhBrBc;AH2yDlB;;AqB5yDE;EACE,clBAc;EkBCd,sBlBRW;EkBSX,qBlBqdsE;EkBpdtE,UAAU;EAKR,gDlBaW;AH8xDjB;;AmB3zDA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByxDd;;AmBh0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByxDd;;AmBh0DA;EAqCI,chB9Bc;EgBgCd,UAAU;AnByxDd;;AmBh0DA;EAiDI,yBhB9Cc;EgBgDd,UAAU;AnBkxDd;;AmB9wDA;;;;EAKI,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AnBgxDpB;;AmB5wDA;EAOI,chB/Dc;EgBgEd,sBhBvEW;AHg1Df;;AmBpwDA;;EAEE,cAAc;EACd,WAAW;AnBuwDb;;AmB7vDA;EACE,iCDyB8D;ECxB9D,oCDwB8D;ECvB9D,gBAAgB;Ef3Bd,kBAAW;Ee6Bb,gBhB+L+B;AHikDjC;;AmB7vDA;EACE,+BDiB8D;EChB9D,kCDgB8D;EdK1D,kBAtCY;EemBhB,gBhB6H+B;AHmoDjC;;AmB7vDA;EACE,gCDU8D;ECT9D,mCDS8D;EdK1D,mBAtCY;Ee0BhB,gBhBuH+B;AHyoDjC;;AmBvvDA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EfDZ,eAtCY;EeyChB,gBhBkK+B;EgBjK/B,chBnHgB;EgBoHhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;AnB0vDrC;;AmBpwDA;EAcI,gBAAgB;EAChB,eAAe;AnB0vDnB;;AmB9uDA;EACE,kCD9B8D;EC+B9D,uBhBoPiC;EC9Q7B,mBAtCY;EekEhB,gBhB+E+B;EOxN7B,qBP+N+B;AH4pDnC;;AmB9uDA;EACE,gCDtC8D;ECuC9D,oBhBiPgC;ECnR5B,kBAtCY;Ee0EhB,gBhBsE+B;EOvN7B,qBP8N+B;AHqqDnC;;AmB7uDA;EAGI,YAAY;AnB8uDhB;;AmB1uDA;EACE,YAAY;AnB6uDd;;AmBruDA;EACE,mBhB0U0C;AH85C5C;;AmBruDA;EACE,cAAc;EACd,mBhB2T4C;AH66C9C;;AmBhuDA;EACE,aAAa;EACb,eAAe;EACf,kBAA0C;EAC1C,iBAAyC;AnBmuD3C;;AmBvuDA;;EAQI,kBAA0C;EAC1C,iBAAyC;AnBouD7C;;AmB3tDA;EACE,kBAAkB;EAClB,cAAc;EACd,qBhBgS6C;AH87C/C;;AmB3tDA;EACE,kBAAkB;EAClB,kBhB4R2C;EgB3R3C,qBhB0R6C;AHo8C/C;;AmBjuDA;;EAQI,chBzNc;AHu7DlB;;AmB1tDA;EACE,gBAAgB;AnB6tDlB;;AmB1tDA;EACE,oBAAoB;EACpB,mBAAmB;EACnB,eAAe;EACf,qBhB6Q4C;AHg9C9C;;AmBjuDA;EAQI,gBAAgB;EAChB,aAAa;EACb,uBhBwQ4C;EgBvQ5C,cAAc;AnB6tDlB;;AqB16DE;EACE,aAAa;EACb,WAAW;EACX,mBlB0c0C;ECjb1C,cAAW;EiBvBX,clBPa;AHo7DjB;;AqB16DE;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBoyBqC;EkBnyBrC,iBAAiB;EjBmEf,mBAtCY;EiB3Bd,gBlBsO6B;EkBrO7B,WlBxDW;EkByDX,wClBtBa;EOxBb,sBP6NgC;AH+vDpC;;AqBz6DI;;EAEE,SAAiC;ArB46DvC;;AqBn9DI;;;;EA8CE,cAAc;ArB46DpB;;AqB19DI;EAoDE,qBlB1CW;EkB6CT,oCHmCwD;EGlCxD,iRH3B0E;EG4B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEH+BwD;AlBy4DhE;;AqBn+DI;EA+DI,qBlBrDS;EkBsDT,gDlBtDS;AH89DjB;;AqBx+DI;EAyEI,oCHiBwD;EGhBxD,kFHgBwD;AlBm5DhE;;AqB7+DI;EAiFE,qBlBvEW;EkB0ET,uCHMwD;EGLxD,ujBAA8J;ArB85DtK;;AqBn/DI;EAyFI,qBlB/ES;EkBgFT,gDlBhFS;AH8+DjB;;AqBx/DI;EAkGI,clBxFS;AHk/DjB;;AqB5/DI;;;EAuGI,cAAc;ArB25DtB;;AqBlgEI;EA+GI,clBrGS;AH4/DjB;;AqBtgEI;EAkHM,qBlBxGO;AHggEjB;;AqB1gEI;EAwHM,qBAAkC;EClJxC,yBDmJ+C;ArBs5DnD;;AqB/gEI;EA+HM,gDlBrHO;AHygEjB;;AqBnhEI;EAmIM,qBlBzHO;AH6gEjB;;AqBvhEI;EA6II,qBlBnIS;AHihEjB;;AqB3hEI;EAkJM,qBlBxIO;EkByIP,gDlBzIO;AHshEjB;;AqBphEE;EACE,aAAa;EACb,WAAW;EACX,mBlB0c0C;ECjb1C,cAAW;EiBvBX,clBVa;AHiiEjB;;AqBphEE;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBlBoyBqC;EkBnyBrC,iBAAiB;EjBmEf,mBAtCY;EiB3Bd,gBlBsO6B;EkBrO7B,WlBxDW;EkByDX,wClBzBa;EOrBb,sBP6NgC;AHy2DpC;;AqBnhEI;;EAEE,SAAiC;ArBshEvC;;AqB7jEI;;;;EA8CE,cAAc;ArBshEpB;;AqBpkEI;EAoDE,qBlB7CW;EkBgDT,oCHmCwD;EGlCxD,4UH3B0E;EG4B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEH+BwD;AlBm/DhE;;AqB7kEI;EA+DI,qBlBxDS;EkByDT,gDlBzDS;AH2kEjB;;AqBllEI;EAyEI,oCHiBwD;EGhBxD,kFHgBwD;AlB6/DhE;;AqBvlEI;EAiFE,qBlB1EW;EkB6ET,uCHMwD;EGLxD,knBAA8J;ArBwgEtK;;AqB7lEI;EAyFI,qBlBlFS;EkBmFT,gDlBnFS;AH2lEjB;;AqBlmEI;EAkGI,clB3FS;AH+lEjB;;AqBtmEI;;;EAuGI,cAAc;ArBqgEtB;;AqB5mEI;EA+GI,clBxGS;AHymEjB;;AqBhnEI;EAkHM,qBlB3GO;AH6mEjB;;AqBpnEI;EAwHM,qBAAkC;EClJxC,yBDmJ+C;ArBggEnD;;AqBznEI;EA+HM,gDlBxHO;AHsnEjB;;AqB7nEI;EAmIM,qBlB5HO;AH0nEjB;;AqBjoEI;EA6II,qBlBtIS;AH8nEjB;;AqBroEI;EAkJM,qBlB3IO;EkB4IP,gDlB5IO;AHmoEjB;;AmBx5DA;EACE,aAAa;EACb,mBAAmB;EACnB,mBAAmB;AnB25DrB;;AmB95DA;EASI,WAAW;AnBy5Df;;AcxnEI;EKsNJ;IAeM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,gBAAgB;EnBw5DpB;EmB16DF;IAuBM,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,mBAAmB;IACnB,gBAAgB;EnBs5DpB;EmBj7DF;IAgCM,qBAAqB;IACrB,WAAW;IACX,sBAAsB;EnBo5D1B;EmBt7DF;IAuCM,qBAAqB;EnBk5DzB;EmBz7DF;;IA4CM,WAAW;EnBi5Df;EmB77DF;IAkDM,aAAa;IACb,mBAAmB;IACnB,uBAAuB;IACvB,WAAW;IACX,eAAe;EnB84DnB;EmBp8DF;IAyDM,kBAAkB;IAClB,cAAc;IACd,aAAa;IACb,qBhB+KwC;IgB9KxC,cAAc;EnB84DlB;EmB38DF;IAiEM,mBAAmB;IACnB,uBAAuB;EnB64D3B;EmB/8DF;IAqEM,gBAAgB;EnB64DpB;AACF;;AuB/tEA;EACE,qBAAqB;EAErB,gBpBsR+B;EoBrR/B,cpBMgB;EoBLhB,kBAAkB;EAGlB,sBAAsB;EACtB,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuF3C,yBrB2RkC;ECpQ9B,eAtCY;EoBiBhB,gBrB0L+B;EOlR7B,sBP6NgC;EiB/N9B,qIjBgb6I;AHqzDnJ;;AoBjuEM;EGdN;IHeQ,gBAAgB;EpBquEtB;AACF;;AK/uEE;EkBUE,cpBNc;EoBOd,qBAAqB;AvByuEzB;;AuB1vEA;EAsBI,UAAU;EACV,gDpBMa;AHkuEjB;;AuB/vEA;EA6BI,apBiZ6B;AHq1DjC;;AuBnwEA;EAkCI,eAAsD;AvBquE1D;;AuBvtEA;;EAEE,oBAAoB;AvB0tEtB;;AuBjtEE;EC3DA,WrBCa;EmBDX,yBnB6Ba;EqB3Bf,qBrB2Be;AHqvEjB;;AK5wEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxByxE7H;;AwB7wEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxB2wEvF;;AwBtwEE;EAEE,WrB1BW;EqB2BX,yBrBCa;EqBAb,qBrBAa;AHwwEjB;;AwBjwEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB6yEnN;;AwB9vEI;;EAKI,gDAAiF;AxB8vEzF;;AuBtvEE;EC3DA,WrBCa;EmBDX,yBnBOc;EqBLhB,qBrBKgB;AHgzElB;;AKjzEE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB8zE7H;;AwBlzEE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBgzEvF;;AwB3yEE;EAEE,WrB1BW;EqB2BX,yBrBrBc;EqBsBd,qBrBtBc;AHm0ElB;;AwBtyEE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBk1EnN;;AwBnyEI;;EAKI,iDAAiF;AxBmyEzF;;AuB3xEE;EC3DA,WrBCa;EmBDX,yBnBoCa;EqBlCf,qBrBkCe;AHwzEjB;;AKt1EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBm2E7H;;AwBv1EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxBq1EvF;;AwBh1EE;EAEE,WrB1BW;EqB2BX,yBrBQa;EqBPb,qBrBOa;AH20EjB;;AwB30EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBu3EnN;;AwBx0EI;;EAKI,+CAAiF;AxBw0EzF;;AuBh0EE;EC3DA,WrBCa;EmBDX,yBnBsCa;EqBpCf,qBrBoCe;AH21EjB;;AK33EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBw4E7H;;AwB53EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxB03EvF;;AwBr3EE;EAEE,WrB1BW;EqB2BX,yBrBUa;EqBTb,qBrBSa;AH82EjB;;AwBh3EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxB45EnN;;AwB72EI;;EAKI,gDAAiF;AxB62EzF;;AuBr2EE;EC3DA,crBUgB;EmBVd,yBnBmCa;EqBjCf,qBrBiCe;AHm4EjB;;AKh6EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxB66E7H;;AwBj6EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,gDAAiF;AxB+5EvF;;AwB15EE;EAEE,crBjBc;EqBkBd,yBrBOa;EqBNb,qBrBMa;AHs5EjB;;AwBr5EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxBi8EnN;;AwBl5EI;;EAKI,gDAAiF;AxBk5EzF;;AuB14EE;EC3DA,WrBCa;EmBDX,yBnBiCa;EqB/Bf,qBrB+Be;AH06EjB;;AKr8EE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxBk9E7H;;AwBt8EE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,+CAAiF;AxBo8EvF;;AwB/7EE;EAEE,WrB1BW;EqB2BX,yBrBKa;EqBJb,qBrBIa;AH67EjB;;AwB17EE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBs+EnN;;AwBv7EI;;EAKI,+CAAiF;AxBu7EzF;;AuB/6EE;EC3DA,crBUgB;EmBVd,yBnBEc;EqBAhB,qBrBAgB;AH8+ElB;;AK1+EE;EmBAE,crBIc;EmBVd,yBEDoF;EASpF,qBATyH;AxBu/E7H;;AwB3+EE;EAEE,crBHc;EmBVd,yBEDoF;EAgBpF,qBAhByH;EAqBvH,iDAAiF;AxBy+EvF;;AwBp+EE;EAEE,crBjBc;EqBkBd,yBrB1Bc;EqB2Bd,qBrB3Bc;AHigFlB;;AwB/9EE;;EAGE,crB7Bc;EqB8Bd,yBAzCuK;EA6CvK,qBA7C+M;AxB2gFnN;;AwB59EI;;EAKI,iDAAiF;AxB49EzF;;AuBp9EE;EC3DA,WrBCa;EmBDX,yBnBSc;EqBPhB,qBrBOgB;AH4gFlB;;AK/gFE;EmBAE,WrBLW;EmBDX,yBEDoF;EASpF,qBATyH;AxB4hF7H;;AwBhhFE;EAEE,WrBZW;EmBDX,yBEDoF;EAgBpF,qBAhByH;EAqBvH,8CAAiF;AxB8gFvF;;AwBzgFE;EAEE,WrB1BW;EqB2BX,yBrBnBc;EqBoBd,qBrBpBc;AH+hFlB;;AwBpgFE;;EAGE,WrBtCW;EqBuCX,yBAzCuK;EA6CvK,qBA7C+M;AxBgjFnN;;AwBjgFI;;EAKI,8CAAiF;AxBigFzF;;AuBn/EE;ECPA,crB7Be;EqB8Bf,qBrB9Be;AH4hFjB;;AKnjFE;EmBwDE,WrB7DW;EqB8DX,yBrBlCa;EqBmCb,qBrBnCa;AHkiFjB;;AwB5/EE;EAEE,+CrBxCa;AHsiFjB;;AwB3/EE;EAEE,crB7Ca;EqB8Cb,6BAA6B;AxB6/EjC;;AwB1/EE;;EAGE,WrBhFW;EqBiFX,yBrBrDa;EqBsDb,qBrBtDa;AHkjFjB;;AwB1/EI;;EAKI,+CrB7DS;AHujFjB;;AuBnhFE;ECPA,crBnDgB;EqBoDhB,qBrBpDgB;AHklFlB;;AKnlFE;EmBwDE,WrB7DW;EqB8DX,yBrBxDc;EqByDd,qBrBzDc;AHwlFlB;;AwB5hFE;EAEE,iDrB9Dc;AH4lFlB;;AwB3hFE;EAEE,crBnEc;EqBoEd,6BAA6B;AxB6hFjC;;AwB1hFE;;EAGE,WrBhFW;EqBiFX,yBrB3Ec;EqB4Ed,qBrB5Ec;AHwmFlB;;AwB1hFI;;EAKI,iDrBnFU;AH6mFlB;;AuBnjFE;ECPA,crBtBe;EqBuBf,qBrBvBe;AHqlFjB;;AKnnFE;EmBwDE,WrB7DW;EqB8DX,yBrB3Ba;EqB4Bb,qBrB5Ba;AH2lFjB;;AwB5jFE;EAEE,+CrBjCa;AH+lFjB;;AwB3jFE;EAEE,crBtCa;EqBuCb,6BAA6B;AxB6jFjC;;AwB1jFE;;EAGE,WrBhFW;EqBiFX,yBrB9Ca;EqB+Cb,qBrB/Ca;AH2mFjB;;AwB1jFI;;EAKI,+CrBtDS;AHgnFjB;;AuBnlFE;ECPA,crBpBe;EqBqBf,qBrBrBe;AHmnFjB;;AKnpFE;EmBwDE,WrB7DW;EqB8DX,yBrBzBa;EqB0Bb,qBrB1Ba;AHynFjB;;AwB5lFE;EAEE,gDrB/Ba;AH6nFjB;;AwB3lFE;EAEE,crBpCa;EqBqCb,6BAA6B;AxB6lFjC;;AwB1lFE;;EAGE,WrBhFW;EqBiFX,yBrB5Ca;EqB6Cb,qBrB7Ca;AHyoFjB;;AwB1lFI;;EAKI,gDrBpDS;AH8oFjB;;AuBnnFE;ECPA,crBvBe;EqBwBf,qBrBxBe;AHspFjB;;AKnrFE;EmBwDE,crBpDc;EqBqDd,yBrB5Ba;EqB6Bb,qBrB7Ba;AH4pFjB;;AwB5nFE;EAEE,+CrBlCa;AHgqFjB;;AwB3nFE;EAEE,crBvCa;EqBwCb,6BAA6B;AxB6nFjC;;AwB1nFE;;EAGE,crBvEc;EqBwEd,yBrB/Ca;EqBgDb,qBrBhDa;AH4qFjB;;AwB1nFI;;EAKI,+CrBvDS;AHirFjB;;AuBnpFE;ECPA,crBzBe;EqB0Bf,qBrB1Be;AHwrFjB;;AKntFE;EmBwDE,WrB7DW;EqB8DX,yBrB9Ba;EqB+Bb,qBrB/Ba;AH8rFjB;;AwB5pFE;EAEE,+CrBpCa;AHksFjB;;AwB3pFE;EAEE,crBzCa;EqB0Cb,6BAA6B;AxB6pFjC;;AwB1pFE;;EAGE,WrBhFW;EqBiFX,yBrBjDa;EqBkDb,qBrBlDa;AH8sFjB;;AwB1pFI;;EAKI,+CrBzDS;AHmtFjB;;AuBnrFE;ECPA,crBxDgB;EqByDhB,qBrBzDgB;AHuvFlB;;AKnvFE;EmBwDE,crBpDc;EqBqDd,yBrB7Dc;EqB8Dd,qBrB9Dc;AH6vFlB;;AwB5rFE;EAEE,iDrBnEc;AHiwFlB;;AwB3rFE;EAEE,crBxEc;EqByEd,6BAA6B;AxB6rFjC;;AwB1rFE;;EAGE,crBvEc;EqBwEd,yBrBhFc;EqBiFd,qBrBjFc;AH6wFlB;;AwB1rFI;;EAKI,iDrBxFU;AHkxFlB;;AuBntFE;ECPA,crBjDgB;EqBkDhB,qBrBlDgB;AHgxFlB;;AKnxFE;EmBwDE,WrB7DW;EqB8DX,yBrBtDc;EqBuDd,qBrBvDc;AHsxFlB;;AwB5tFE;EAEE,8CrB5Dc;AH0xFlB;;AwB3tFE;EAEE,crBjEc;EqBkEd,6BAA6B;AxB6tFjC;;AwB1tFE;;EAGE,WrBhFW;EqBiFX,yBrBzEc;EqB0Ed,qBrB1Ec;AHsyFlB;;AwB1tFI;;EAKI,8CrBjFU;AH2yFlB;;AuBxuFA;EACE,gBpB4M+B;EoB3M/B,cpBjDe;EoBkDf,qBpB2F4C;AHgpF9C;;AKpzFE;EkB4EE,cpByF8D;EoBxF9D,0BpByF+C;AHmpFnD;;AuBnvFA;EAYI,0BpBoF+C;AHupFnD;;AuBvvFA;EAiBI,cpBtFc;EoBuFd,oBAAoB;AvB0uFxB;;AuB/tFA;ECPE,oBrB0SgC;ECnR5B,kBAtCY;EoBiBhB,gBrB+H+B;EOvN7B,qBP8N+B;AHqmFnC;;AuBluFA;ECXE,uBrBqSiC;EC9Q7B,mBAtCY;EoBiBhB,gBrBgI+B;EOxN7B,qBP+N+B;AH2mFnC;;AuBhuFA;EACE,cAAc;EACd,WAAW;AvBmuFb;;AuBruFA;EAMI,kBpBuT+B;AH46EnC;;AuB9tFA;;;EAII,WAAW;AvBguFf;;AyB32FA;ELgBM,gCjBiP2C;AH8mFjD;;AoB31FM;EKpBN;ILqBQ,gBAAgB;EpB+1FtB;AACF;;AyBr3FA;EAII,UAAU;AzBq3Fd;;AyBj3FA;EAEI,aAAa;AzBm3FjB;;AyB/2FA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;ELDZ,6BjBkPwC;AHkoF9C;;AoBh3FM;EKNN;ILOQ,gBAAgB;EpBo3FtB;AACF;;A0Bz4FA;;;;EAIE,kBAAkB;A1B44FpB;;A0Bz4FA;EACE,mBAAmB;A1B44FrB;;A2Bx3FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;A3B45F7C;;A2Bv2FI;EACE,cAAc;A3B02FpB;;A0Bp5FA;EACE,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,avBwpBsC;EuBvpBtC,aAAa;EACb,WAAW;EACX,gBvBguBuC;EuB/tBvC,iBvBguBmC;EuB/tBnC,oBAA4B;EtBsGxB,eAtCY;EsB9DhB,cvBXgB;EuBYhB,gBAAgB;EAChB,gBAAgB;EAChB,sBvBvBa;EuBwBb,4BAA4B;EAC5B,qCvBfa;EOCX,sBP6NgC;AHysFpC;;A0B/4FI;EACE,WAAW;EACX,OAAO;A1Bk5Fb;;A0B/4FI;EACE,QAAQ;EACR,UAAU;A1Bk5FhB;;Act4FI;EYnBA;IACE,WAAW;IACX,OAAO;E1B65FX;E0B15FE;IACE,QAAQ;IACR,UAAU;E1B45Fd;AACF;;Acj5FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bw6FX;E0Br6FE;IACE,QAAQ;IACR,UAAU;E1Bu6Fd;AACF;;Ac55FI;EYnBA;IACE,WAAW;IACX,OAAO;E1Bm7FX;E0Bh7FE;IACE,QAAQ;IACR,UAAU;E1Bk7Fd;AACF;;Acv6FI;EYnBA;IACE,WAAW;IACX,OAAO;E1B87FX;E0B37FE;IACE,QAAQ;IACR,UAAU;E1B67Fd;AACF;;A0Bv7FA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uBvB8rBuC;AH2vE3C;;A2Bx9FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;A3Bq/F7C;;A2Bv8FI;EACE,cAAc;A3B08FpB;;A0Bh8FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qBvBgrBuC;AHkxE3C;;A2B/+FI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;A3BqgGjC;;A2B99FI;EACE,cAAc;A3Bi+FpB;;A2B9/FI;EDmDE,iBAAiB;A1B+8FvB;;A0B18FA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sBvB+pBuC;AH6yE3C;;A2B1gGI;EACE,qBAAqB;EACrB,oBxB+N0C;EwB9N1C,uBxB6N0C;EwB5N1C,WAAW;A3B6gGjB;;A2BjhGI;EAgBI,aAAa;A3BqgGrB;;A2BlgGM;EACE,qBAAqB;EACrB,qBxB4MwC;EwB3MxC,uBxB0MwC;EwBzMxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;A3BoiG/C;;A2BngGI;EACE,cAAc;A3BsgGpB;;A2BhhGM;EDiDA,iBAAiB;A1Bm+FvB;;A0B59FA;EAKI,WAAW;EACX,YAAY;A1B29FhB;;A0Bt9FA;EE9GE,SAAS;EACT,gBAAmB;EACnB,gBAAgB;EAChB,6BzBCgB;AHukGlB;;A0Bt9FA;EACE,cAAc;EACd,WAAW;EACX,uBvBmpBwC;EuBlpBxC,WAAW;EACX,gBvBgK+B;EuB/J/B,cvBhHgB;EuBiHhB,mBAAmB;EAEnB,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;A1Bw9FX;;AK7kGE;EqBoIE,cvBmnBqD;EuBlnBrD,qBAAqB;EJ/IrB,yBnBGc;AH0lGlB;;A0Bz+FA;EAiCI,WvBpJW;EuBqJX,qBAAqB;EJtJrB,yBnB6Ba;AHskGjB;;A0B/+FA;EAwCI,cvBtJc;EuBuJd,oBAAoB;EACpB,6BAA6B;A1B28FjC;;A0Bn8FA;EACE,cAAc;A1Bs8FhB;;A0Bl8FA;EACE,cAAc;EACd,sBvB6lBwC;EuB5lBxC,gBAAgB;EtBrDZ,mBAtCY;EsB6FhB,cvBzKgB;EuB0KhB,mBAAmB;A1Bq8FrB;;A0Bj8FA;EACE,cAAc;EACd,uBvBmlBwC;EuBllBxC,cvB9KgB;AHknGlB;;A6B/nGA;;EAEE,kBAAkB;EAClB,oBAAoB;EACpB,sBAAsB;A7BkoGxB;;A6BtoGA;;EAOI,kBAAkB;EAClB,cAAc;A7BooGlB;;AKnoGE;;EwBII,UAAU;A7BooGhB;;A6BjpGA;;;;EAkBM,UAAU;A7BsoGhB;;A6BhoGA;EACE,aAAa;EACb,eAAe;EACf,2BAA2B;A7BmoG7B;;A6BtoGA;EAMI,WAAW;A7BooGf;;A6BhoGA;;EAII,iB1BmM6B;AH87FjC;;A6BroGA;;EnBHI,0BmBa8B;EnBZ9B,6BmBY8B;A7BioGlC;;A6B3oGA;;EnBWI,yBmBI6B;EnBH7B,4BmBG6B;A7BkoGjC;;A6BlnGA;EACE,wBAAmC;EACnC,uBAAkC;A7BqnGpC;;A6BvnGA;;;EAOI,cAAc;A7BsnGlB;;A6BnnGE;EACE,eAAe;A7BsnGnB;;A6BlnGA;EACE,uBAAsC;EACtC,sBAAqC;A7BqnGvC;;A6BlnGA;EACE,sBAAsC;EACtC,qBAAqC;A7BqnGvC;;A6BjmGA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;A7BomGzB;;A6BvmGA;;EAOI,WAAW;A7BqmGf;;A6B5mGA;;EAYI,gB1BkH6B;AHm/FjC;;A6BjnGA;;EnBrEI,6BmBuF+B;EnBtF/B,4BmBsF+B;A7BqmGnC;;A6BvnGA;;EnBnFI,yBmB0G4B;EnBzG5B,0BmByG4B;A7BsmGhC;;A6BrlGA;;EAGI,gBAAgB;A7BulGpB;;A6B1lGA;;;;EAOM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;A7B0lG1B;;A8BnvGA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A9BsvGb;;A8B3vGA;;;;EAWI,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,YAAY;EACZ,gBAAgB;A9BuvGpB;;A8BtwGA;;;;;;;;;;;;EAoBM,iB3BkN2B;AH+iGjC;;A8BrxGA;;;EA4BI,UAAU;A9B+vGd;;A8B3xGA;EAiCI,UAAU;A9B8vGd;;A8B/xGA;;EpB0CI,yBoBJmD;EpBKnD,4BoBLmD;A9B+vGvD;;A8BryGA;EA4CI,aAAa;EACb,mBAAmB;A9B6vGvB;;A8B1yGA;;EpB0CI,yBoBMsE;EpBLtE,4BoBKsE;A9BgwG1E;;A8BhzGA;;;EpB4BI,0BoB2BgC;EpB1BhC,6BoB0BgC;A9BgwGpC;;A8BvzGA;;;EpB4BI,0BoBmCgC;EpBlChC,6BoBkCgC;A9B+vGpC;;A8BnvGA;;EAEE,aAAa;A9BsvGf;;A8BxvGA;;EAQI,kBAAkB;EAClB,UAAU;A9BqvGd;;A8B9vGA;;EAYM,UAAU;A9BuvGhB;;A8BnwGA;;;;;;;;EAoBI,iB3BuI6B;AHmnGjC;;A8BtvGA;EAAuB,kB3BmIU;AHunGjC;;A8BzvGA;EAAsB,iB3BkIW;AH2nGjC;;A8BrvGA;EACE,aAAa;EACb,mBAAmB;EACnB,yB3B8QkC;E2B7QlC,gBAAgB;E1BSZ,eAtCY;E0B+BhB,gB3BuK+B;E2BtK/B,gB3B2K+B;E2B1K/B,c3B5GgB;E2B6GhB,kBAAkB;EAClB,mBAAmB;EACnB,yB3BpHgB;E2BqHhB,yB3BnHgB;EOOd,sBP6NgC;AHwoGpC;;A8BrwGA;;EAkBI,aAAa;A9BwvGjB;;A8B9uGA;;EAEE,gCZtB8D;AlBuwGhE;;A8B9uGA;;;;;;EAME,oB3ByPgC;ECnR5B,kBAtCY;E0BkEhB,gB3B8E+B;EOvN7B,qBP8N+B;AH6pGnC;;A8B9uGA;;EAEE,kCZvC8D;AlBwxGhE;;A8B9uGA;;;;;;EAME,uB3BmOiC;EC9Q7B,mBAtCY;E0BmFhB,gB3B8D+B;EOxN7B,qBP+N+B;AH6qGnC;;A8B9uGA;;EAEE,sBAA0E;A9BivG5E;;A8BtuGA;;;;;;;;EpB3JI,0BoBmK4B;EpBlK5B,6BoBkK4B;A9B0uGhC;;A8BvuGA;;;;;;EpBxJI,yBoB8J2B;EpB7J3B,4BoB6J2B;A9B2uG/B;;A+Bh7GA;EACE,kBAAkB;EAClB,UAAU;EACV,cAAc;EACd,kBAA+C;EAC/C,oBAAqE;EACrE,iCAAmB;EAAnB,mBAAmB;A/Bm7GrB;;A+Bh7GA;EACE,oBAAoB;EACpB,kB5Bwf0C;AH27F5C;;A+Bh7GA;EACE,kBAAkB;EAClB,OAAO;EACP,WAAW;EACX,W5Bof0C;E4Bnf1C,eAAkF;EAClF,UAAU;A/Bm7GZ;;A+Bz7GA;EASI,W5BzBW;E4B0BX,qB5BEa;EmB7Bb,yBnB6Ba;AHm7GjB;;A+B/7GA;EAoBM,gD5BRW;AHu7GjB;;A+Bn8GA;EAyBI,qB5BqbsE;AHy/F1E;;A+Bv8GA;EA6BI,W5B7CW;E4B8CX,yB5Bif8E;E4Bhf9E,qB5Bgf8E;AH87FlF;;A+B78GA;EAuCM,c5BjDY;AH29GlB;;A+Bj9GA;EA0CQ,yB5BxDU;AHm+GlB;;A+Bj6GA;EACE,kBAAkB;EAClB,gBAAgB;EAEhB,mBAAmB;A/Bm6GrB;;A+Bv6GA;EASI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5BubwC;E4BtbxC,Y5BsbwC;E4BrbxC,oBAAoB;EACpB,WAAW;EACX,sB5BrFW;E4BsFX,yB5B+I6B;AHmxGjC;;A+Bp7GA;EAwBI,kBAAkB;EAClB,YAA+E;EAC/E,aAA+D;EAC/D,cAAc;EACd,W5BwawC;E4BvaxC,Y5BuawC;E4BtaxC,WAAW;EACX,mCAAgE;A/Bg6GpE;;A+Bv5GA;ErBjGI,sBP6NgC;AH+xGpC;;A+B35GA;EAOM,kOb7D4E;AlBq9GlF;;A+B/5GA;EAaM,qB5B7FW;EmB7Bb,yBnB6Ba;AHo/GjB;;A+Bp6GA;EAkBM,+KbxE4E;AlB89GlF;;A+Bx6GA;ET7GI,wCnB6Ba;AH4/GjB;;A+B56GA;ET7GI,wCnB6Ba;AHggHjB;;A+B54GA;EAGI,kB5ByZ+C;AHo/FnD;;A+Bh5GA;EAQM,8KblG4E;AlB8+GlF;;A+Bp5GA;ETjJI,wCnB6Ba;AH4gHjB;;A+Bh4GA;EACE,qBAA2D;A/Bm4G7D;;A+Bp4GA;EAKM,cAAqD;EACrD,c5BiY+E;E4BhY/E,mBAAmB;EAEnB,qB5B+X4E;AHmgGlF;;A+B34GA;EAaM,wBblE0D;EamE1D,0BbnE0D;EaoE1D,uBbhD0D;EaiD1D,wBbjD0D;EakD1D,yB5BpLY;E4BsLZ,qB5BqX4E;EiBviB5E,yIjByf+H;AH2jGrI;;AoBhjHM;EW2JN;IX1JQ,gBAAgB;EpBojHtB;AACF;;A+B35GA;EA0BM,sB5BlMS;E4BmMT,8BAA4E;A/Bq4GlF;;A+Bh6GA;ETzKI,wCnB6Ba;AHgjHjB;;A+Bv3GA;EACE,qBAAqB;EACrB,WAAW;EACX,mCbrG8D;EasG9D,0C5BmKkC;ECpQ9B,eAtCY;E2B0IhB,gB5B4D+B;E4B3D/B,gB5BgE+B;E4B/D/B,c5BvNgB;E4BwNhB,sBAAsB;EACtB,uO5BkW+I;E4BjW/I,yB5B7NgB;EOOd,sBP6NgC;E4BJlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/Bw3GlB;;A+Bv4GA;EAkBI,qB5BuPsE;E4BtPtE,UAAU;EAKR,gD5BjNW;AHskHjB;;A+B74GA;EAiCM,c5B/OY;E4BgPZ,sB5BvPS;AHumHf;;A+Bl5GA;EAwCI,YAAY;EACZ,sB5B8HgC;E4B7HhC,sBAAsB;A/B82G1B;;A+Bx5GA;EA8CI,c5B7Pc;E4B8Pd,yB5BlQc;AHgnHlB;;A+B75GA;EAoDI,aAAa;A/B62GjB;;A+Bj6GA;EAyDI,kBAAkB;EAClB,0B5BxQc;AHonHlB;;A+Bx2GA;EACE,kCbjK8D;EakK9D,oB5BgHkC;E4B/GlC,uB5B+GkC;E4B9GlC,oB5B+GiC;EC9Q7B,mBAtCY;AJijHlB;;A+Bx2GA;EACE,gCbzK8D;Ea0K9D,mB5B6GiC;E4B5GjC,sB5B4GiC;E4B3GjC,kB5B4GgC;ECnR5B,kBAtCY;AJyjHlB;;A+Bn2GA;EACE,kBAAkB;EAClB,qBAAqB;EACrB,WAAW;EACX,mCbzL8D;Ea0L9D,gBAAgB;A/Bs2GlB;;A+Bn2GA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,mCbjM8D;EakM9D,SAAS;EACT,gBAAgB;EAChB,UAAU;A/Bs2GZ;;A+B72GA;EAUI,qB5BoKsE;E4BnKtE,gD5B/Ra;AHsoHjB;;A+Bl3GA;;EAiBI,yB5B/Tc;AHqqHlB;;A+Bv3GA;EAsBM,iB5B2TQ;AH0iGd;;A+B33GA;EA2BI,0BAA0B;A/Bo2G9B;;A+Bh2GA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,mCblO8D;EamO9D,yB5BsCkC;E4BrClC,gBAAgB;EAEhB,gB5BjE+B;E4BkE/B,gB5B7D+B;E4B8D/B,c5BpVgB;E4BqVhB,sB5B5Va;E4B6Vb,yB5BzVgB;EOOd,sBP6NgC;AHw9GpC;;A+Bj3GA;EAmBI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,UAAU;EACV,cAAc;EACd,6BbrP4D;EasP5D,yB5BmBgC;E4BlBhC,gB5B7E6B;E4B8E7B,c5BpWc;E4BqWd,iBAAiB;ET7WjB,yBnBGc;E4B4Wd,oBAAoB;ErBnWpB,kCqBoWgF;A/Bk2GpF;;A+Bx1GA;EACE,WAAW;EACX,cb3Q2B;Ea4Q3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A/B21GlB;;A+Bh2GA;EAQI,UAAU;A/B41Gd;;A+Bp2GA;EAY8B,gE5BzWb;AHqsHjB;;A+Bx2GA;EAa8B,gE5B1Wb;AHysHjB;;A+B52GA;EAc8B,gE5B3Wb;AH6sHjB;;A+Bh3GA;EAkBI,SAAS;A/Bk2Gb;;A+Bp3GA;EAsBI,W5BmN6C;E4BlN7C,Y5BkN6C;E4BjN7C,oBAAyE;ETlZzE,yBnB6Ba;E4BuXb,S5BkN0C;EO1lB1C,mBP2lB6C;EiB7lB3C,oHjByf+H;EiBzf/H,4GjByf+H;E4B3GjI,wBAAgB;EAAhB,gBAAgB;A/Bi2GpB;;AoB3uHM;EW4WN;IX3WQ,wBAAgB;IAAhB,gBAAgB;EpB+uHtB;AACF;;A+Br4GA;ET1XI,yBnB2mB2E;AHwpG/E;;A+Bz4GA;EAsCI,W5B4LoC;E4B3LpC,c5B4LqC;E4B3LrC,kBAAkB;EAClB,e5B2LuC;E4B1LvC,yB5Bhac;E4Biad,yBAAyB;ErBzZzB,mBPolBoC;AH6qGxC;;A+Bn5GA;EAiDI,W5BwL6C;E4BvL7C,Y5BuL6C;EmBnmB7C,yBnB6Ba;E4BiZb,S5BwL0C;EO1lB1C,mBP2lB6C;EiB7lB3C,iHjByf+H;EiBzf/H,4GjByf+H;E4BjFjI,qBAAgB;EAAhB,gBAAgB;A/Bq2GpB;;AoBzwHM;EW4WN;IX3WQ,qBAAgB;IAAhB,gBAAgB;EpB6wHtB;AACF;;A+Bn6GA;ET1XI,yBnB2mB2E;AHsrG/E;;A+Bv6GA;EAgEI,W5BkKoC;E4BjKpC,c5BkKqC;E4BjKrC,kBAAkB;EAClB,e5BiKuC;E4BhKvC,yB5B1bc;E4B2bd,yBAAyB;ErBnbzB,mBPolBoC;AH2sGxC;;A+Bj7GA;EA2EI,W5B8J6C;E4B7J7C,Y5B6J6C;E4B5J7C,aAAa;EACb,oB5BtE+B;E4BuE/B,mB5BvE+B;EmBlY/B,yBnB6Ba;E4B8ab,S5B2J0C;EO1lB1C,mBP2lB6C;EiB7lB3C,gHjByf+H;EiBzf/H,4GjByf+H;E4BpDjI,gBAAgB;A/By2GpB;;AoB1yHM;EW4WN;IX3WQ,oBAAgB;IAAhB,gBAAgB;EpB8yHtB;AACF;;A+Bp8GA;ET1XI,yBnB2mB2E;AHutG/E;;A+Bx8GA;EA6FI,W5BqIoC;E4BpIpC,c5BqIqC;E4BpIrC,kBAAkB;EAClB,e5BoIuC;E4BnIvC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA4C;A/B+2GhD;;A+Bl9GA;EAwGI,yB5B9dc;EOQd,mBPolBoC;AHivGxC;;A+Bv9GA;EA6GI,kBAAkB;EAClB,yB5Bpec;EOQd,mBPolBoC;AHuvGxC;;A+B79GA;EAoHM,yB5BxeY;AHq1HlB;;A+Bj+GA;EAwHM,eAAe;A/B62GrB;;A+Br+GA;EA4HM,yB5BhfY;AH61HlB;;A+Bz+GA;EAgIM,eAAe;A/B62GrB;;A+B7+GA;EAoIM,yB5BxfY;AHq2HlB;;A+Bx2GA;;;EXzfM,4GjByf+H;AH82GrI;;AoBn2HM;EWqfN;;;IXpfQ,gBAAgB;EpBy2HtB;AACF;;AgC13HA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AhC63HlB;;AgC13HA;EACE,cAAc;EACd,oB7ByqBsC;AHotGxC;;AK53HE;E2BGE,qBAAqB;AhC63HzB;;AgCn4HA;EAWI,c7BXc;E6BYd,oBAAoB;EACpB,eAAe;AhC43HnB;;AgCp3HA;EACE,gC7BzBgB;AHg5HlB;;AgCx3HA;EAII,mB7BsM6B;E6BrM7B,6BAAgD;EtBZhD,+BPoNgC;EOnNhC,gCPmNgC;AHkrHpC;;AKj5HE;E2B2BI,qC7BjCY;AH25HlB;;AgCn4HA;EAaM,c7BlCY;E6BmCZ,6BAA6B;EAC7B,yBAAyB;AhC03H/B;;AgCz4HA;;EAqBI,c7BzCc;E6B0Cd,sB7BjDW;E6BkDX,kC7BlDW;AH26Hf;;AgCh5HA;EA4BI,gB7B8K6B;EOjN7B,yBsBqC4B;EtBpC5B,0BsBoC4B;AhCw3HhC;;AgC/2HA;EtBvDI,sBP6NgC;AH6sHpC;;AgCn3HA;;EAOI,W7BzEW;E6B0EX,yB7B9Ca;AH+5HjB;;AgCx2HA;;EAGI,cAAc;EACd,kBAAkB;AhC02HtB;;AgCt2HA;;EAGI,aAAa;EACb,YAAY;EACZ,kBAAkB;AhCw2HtB;;AgC/1HA;EAEI,aAAa;AhCi2HjB;;AgCn2HA;EAKI,cAAc;AhCk2HlB;;AiCt8HA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,oB9BgHW;AHy1Hb;;AiC/8HA;;EAWI,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;AjCy8HlC;;AiCr7HA;EACE,qBAAqB;EACrB,sB9BiqB+E;E8BhqB/E,yB9BgqB+E;E8B/pB/E,kB9BgFW;ECRP,kBAtCY;E6BhChB,oBAAoB;EACpB,mBAAmB;AjCw7HrB;;AKl+HE;E4B6CE,qBAAqB;AjCy7HzB;;AiCh7HA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AjCm7HlB;;AiCx7HA;EAQI,gBAAgB;EAChB,eAAe;AjCo7HnB;;AiC77HA;EAaI,gBAAgB;EAChB,WAAW;AjCo7Hf;;AiC36HA;EACE,qBAAqB;EACrB,mB9BwlBuC;E8BvlBvC,sB9BulBuC;AHu1GzC;;AiCl6HA;EACE,gBAAgB;EAChB,YAAY;EAGZ,mBAAmB;AjCm6HrB;;AiC/5HA;EACE,wB9BmmBwC;EC1lBpC,kBAtCY;E6B+BhB,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;EvBxGrC,sBP6NgC;AH8yHpC;;AK7gIE;E4B8GE,qBAAqB;AjCm6HzB;;AiC75HA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,WAAW;EACX,qCAAqC;AjCg6HvC;;AiC75HA;EACE,gB9B+kBsC;E8B9kBtC,gBAAgB;AjCg6HlB;;Act+HI;EmBgFC;;IAGK,gBAAgB;IAChB,eAAe;EjCy5HvB;AACF;;Ac3/HI;EmB6FA;IAoBI,qBAAqB;IACrB,2BAA2B;EjC+4HjC;EiCp6HG;IAwBK,mBAAmB;EjC+4H3B;EiCv6HG;IA2BO,kBAAkB;EjC+4H5B;EiC16HG;IA+BO,qB9BwhB6B;I8BvhB7B,oB9BuhB6B;EHu3GvC;EiC96HG;;IAsCK,iBAAiB;EjC44HzB;EiCl7HG;IAqDK,iBAAiB;EjCg4HzB;EiCr7HG;IAyDK,wBAAwB;IAGxB,gBAAgB;EjC63HxB;EiCz7HG;IAgEK,aAAa;EjC43HrB;AACF;;Ac7gII;EmBgFC;;IAGK,gBAAgB;IAChB,eAAe;EjCg8HvB;AACF;;AcliII;EmB6FA;IAoBI,qBAAqB;IACrB,2BAA2B;EjCs7HjC;EiC38HG;IAwBK,mBAAmB;EjCs7H3B;EiC98HG;IA2BO,kBAAkB;EjCs7H5B;EiCj9HG;IA+BO,qB9BwhB6B;I8BvhB7B,oB9BuhB6B;EH85GvC;EiCr9HG;;IAsCK,iBAAiB;EjCm7HzB;EiCz9HG;IAqDK,iBAAiB;EjCu6HzB;EiC59HG;IAyDK,wBAAwB;IAGxB,gBAAgB;EjCo6HxB;EiCh+HG;IAgEK,aAAa;EjCm6HrB;AACF;;AcpjII;EmBgFC;;IAGK,gBAAgB;IAChB,eAAe;EjCu+HvB;AACF;;AczkII;EmB6FA;IAoBI,qBAAqB;IACrB,2BAA2B;EjC69HjC;EiCl/HG;IAwBK,mBAAmB;EjC69H3B;EiCr/HG;IA2BO,kBAAkB;EjC69H5B;EiCx/HG;IA+BO,qB9BwhB6B;I8BvhB7B,oB9BuhB6B;EHq8GvC;EiC5/HG;;IAsCK,iBAAiB;EjC09HzB;EiChgIG;IAqDK,iBAAiB;EjC88HzB;EiCngIG;IAyDK,wBAAwB;IAGxB,gBAAgB;EjC28HxB;EiCvgIG;IAgEK,aAAa;EjC08HrB;AACF;;Ac3lII;EmBgFC;;IAGK,gBAAgB;IAChB,eAAe;EjC8gIvB;AACF;;AchnII;EmB6FA;IAoBI,qBAAqB;IACrB,2BAA2B;EjCogIjC;EiCzhIG;IAwBK,mBAAmB;EjCogI3B;EiC5hIG;IA2BO,kBAAkB;EjCogI5B;EiC/hIG;IA+BO,qB9BwhB6B;I8BvhB7B,oB9BuhB6B;EH4+GvC;EiCniIG;;IAsCK,iBAAiB;EjCigIzB;EiCviIG;IAqDK,iBAAiB;EjCq/HzB;EiC1iIG;IAyDK,wBAAwB;IAGxB,gBAAgB;EjCk/HxB;EiC9iIG;IAgEK,aAAa;EjCi/HrB;AACF;;AiCvjIA;EAyBQ,qBAAqB;EACrB,2BAA2B;AjCkiInC;;AiC5jIA;;EAQU,gBAAgB;EAChB,eAAe;AjCyjIzB;;AiClkIA;EA6BU,mBAAmB;AjCyiI7B;;AiCtkIA;EAgCY,kBAAkB;AjC0iI9B;;AiC1kIA;EAoCY,qB9BwhB6B;E8BvhB7B,oB9BuhB6B;AHmhHzC;;AiC/kIA;;EA2CU,iBAAiB;AjCyiI3B;;AiCplIA;EA0DU,iBAAiB;AjC8hI3B;;AiCxlIA;EA8DU,wBAAwB;EAGxB,gBAAgB;AjC4hI1B;;AiC7lIA;EAqEU,aAAa;AjC4hIvB;;AiC/gIA;EAEI,yB9BvNW;AHwuIf;;AKzuIE;E4B2NI,yB9B1NS;AH4uIf;;AiCvhIA;EAWM,yB9BhOS;AHgvIf;;AKjvIE;E4BoOM,yB9BnOO;AHovIf;;AiC/hIA;EAkBQ,yB9BvOO;AHwvIf;;AiCniIA;;;;EA0BM,yB9B/OS;AH+vIf;;AiC1iIA;EA+BI,yB9BpPW;E8BqPX,gC9BrPW;AHowIf;;AiC/iIA;EAoCI,mRf7M8E;AlB4tIlF;;AiCnjIA;EAwCI,yB9B7PW;AH4wIf;;AiCvjIA;EA0CM,yB9B/PS;AHgxIf;;AKjxIE;E4BmQM,yB9BlQO;AHoxIf;;AiC3gIA;EAEI,W9BrRW;AHkyIf;;AKzxIE;E4B+QI,W9BxRS;AHsyIf;;AiCnhIA;EAWM,+B9B9RS;AH0yIf;;AKjyIE;E4BwRM,gC9BjSO;AH8yIf;;AiC3hIA;EAkBQ,gC9BrSO;AHkzIf;;AiC/hIA;;;;EA0BM,W9B7SS;AHyzIf;;AiCtiIA;EA+BI,+B9BlTW;E8BmTX,sC9BnTW;AH8zIf;;AiC3iIA;EAoCI,yRfjQ8E;AlB4wIlF;;AiC/iIA;EAwCI,+B9B3TW;AHs0If;;AiCnjIA;EA0CM,W9B7TS;AH00If;;AKj0IE;E4BuTM,W9BhUO;AH80If;;AkCj1IA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sB/BJa;E+BKb,2BAA2B;EAC3B,sC/BIa;EOCX,sBP6NgC;AHknIpC;;AkC71IA;EAaI,eAAe;EACf,cAAc;AlCo1IlB;;AkCl2IA;EAkBI,mBAAmB;EACnB,sBAAsB;AlCo1I1B;;AkCv2IA;EAsBM,mBAAmB;ExBCrB,2CQmH4D;ERlH5D,4CQkH4D;AlBmuIhE;;AkC72IA;EA2BM,sBAAsB;ExBUxB,+CQqG4D;ERpG5D,8CQoG4D;AlByuIhE;;AkCn3IA;;EAoCI,aAAa;AlCo1IjB;;AkCh1IA;EAGE,cAAc;EAGd,eAAe;EACf,gB/B8wByC;AHikH3C;;AkC30IA;EACE,sB/BwwBwC;AHskH1C;;AkC30IA;EACE,qBAA+B;EAC/B,gBAAgB;AlC80IlB;;AkC30IA;EACE,gBAAgB;AlC80IlB;;AKn4IE;E6B0DE,qBAAqB;AlC60IzB;;AkC/0IA;EAMI,oB/BuvBuC;AHslH3C;;AkCr0IA;EACE,wB/B8uByC;E+B7uBzC,gBAAgB;EAEhB,qC/BrEa;E+BsEb,6C/BtEa;AH64If;;AkC50IA;ExBhEI,0DwBwE8E;AlCw0IlF;;AkCp0IA;EACE,wB/BkuByC;E+BhuBzC,qC/BhFa;E+BiFb,0C/BjFa;AHu5If;;AkC10IA;ExB5EI,0DQ4H4D;AlB8xIhE;;AkC9zIA;EACE,uBAAiC;EACjC,uB/BgtBwC;E+B/sBxC,sBAAgC;EAChC,gBAAgB;AlCi0IlB;;AkC9zIA;EACE,uBAAiC;EACjC,sBAAgC;AlCi0IlC;;AkC7zIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,gB/B2sByC;EO1zBvC,kCQ4H4D;AlBozIhE;;AkC7zIA;;;EAGE,cAAc;EACd,WAAW;AlCg0Ib;;AkC7zIA;;ExBjHI,2CQmH4D;ERlH5D,4CQkH4D;AlBi0IhE;;AkC9zIA;;ExBxGI,+CQqG4D;ERpG5D,8CQoG4D;AlBu0IhE;;AkC5zIA;EAEI,mB/BmrBsD;AH2oH1D;;Ac75II;EoB6FJ;IAMI,aAAa;IACb,mBAAmB;IACnB,mB/B6qBsD;I+B5qBtD,kB/B4qBsD;EHmpHxD;EkCx0IF;IAaM,YAAY;IACZ,kB/BuqBoD;I+BtqBpD,gBAAgB;IAChB,iB/BqqBoD;EHypHxD;AACF;;AkCrzIA;EAII,mB/BupBsD;AH8pH1D;;Ach7II;EoBuHJ;IAQI,aAAa;IACb,mBAAmB;ElCszIrB;EkC/zIF;IAcM,YAAY;IACZ,gBAAgB;ElCozIpB;EkCn0IF;IAkBQ,cAAc;IACd,cAAc;ElCozIpB;EkCv0IF;IxBjJI,0BwB0KoC;IxBzKpC,6BwByKoC;ElCkzItC;EkC30IF;;IA8BY,0BAA0B;ElCizIpC;EkC/0IF;;IAmCY,6BAA6B;ElCgzIvC;EkCn1IF;IxBnII,yBwB2KmC;IxB1KnC,4BwB0KmC;ElC+yIrC;EkCv1IF;;IA6CY,yBAAyB;ElC8yInC;EkC31IF;;IAkDY,4BAA4B;ElC6yItC;AACF;;AkCjyIA;EAEI,sB/B4kBsC;AHutH1C;;Ac39II;EoBsLJ;IAMI,oB/BylBiC;I+BzlBjC,e/BylBiC;I+BxlBjC,wB/BylBuC;I+BzlBvC,mB/BylBuC;I+BxlBvC,UAAU;IACV,SAAS;ElCoyIX;EkC7yIF;IAYM,qBAAqB;IACrB,WAAW;ElCoyIf;AACF;;AkC3xIA;EACE,qBAAqB;AlC8xIvB;;AkC/xIA;EAII,gBAAgB;AlC+xIpB;;AkCnyIA;EAOM,gBAAgB;ExBvOlB,6BwBwOiC;ExBvOjC,4BwBuOiC;AlCiyIrC;;AkCzyIA;ExB9OI,yBwB0P8B;ExBzP9B,0BwByP8B;AlCkyIlC;;AkC9yIA;ExBvPI,gBwBuQ0B;EACxB,mB/B9C2B;AHg1IjC;;AmC5jJA;EACE,aAAa;EACb,eAAe;EACf,qBhCiiCsC;EgChiCtC,mBhCmiCsC;EgCjiCtC,gBAAgB;EAChB,yBhCEgB;EOSd,sBP6NgC;AHu1IpC;;AmC3jJA;EAGI,oBhCuhCqC;AHqiHzC;;AmC/jJA;EAMM,WAAW;EACX,qBhCmhCmC;EgClhCnC,chCNY;EgCOZ,YhCwhCuC;AHqiH7C;;AmCtkJA;EAoBI,0BAA0B;AnCsjJ9B;;AmC1kJA;EAwBI,qBAAqB;AnCsjJzB;;AmC9kJA;EA4BI,chC1Bc;AHglJlB;;AoC7lJA;EACE,aAAa;E7BGb,eAAe;EACf,gBAAgB;EGad,sBP6NgC;AHq3IpC;;AoC9lJA;EACE,kBAAkB;EAClB,cAAc;EACd,uBjCgxBwC;EiC/wBxC,iBjCkO+B;EiCjO/B,iBjCmxBsC;EiClxBtC,cjCuBe;EiCrBf,sBjCPa;EiCQb,yBjCLgB;AHqmJlB;;AoCzmJA;EAYI,UAAU;EACV,cjC8J8D;EiC7J9D,qBAAqB;EACrB,yBjCZc;EiCad,qBjCZc;AH6mJlB;;AoCjnJA;EAoBI,UAAU;EACV,UjC2wBiC;EiC1wBjC,gDjCOa;AH0lJjB;;AoC7lJA;EAGM,cAAc;E1BahB,+BP+LgC;EO9LhC,kCP8LgC;AHo5IpC;;AoCnmJA;E1BEI,gCP6MgC;EO5MhC,mCP4MgC;AHy5IpC;;AoCxmJA;EAcI,UAAU;EACV,WjCxCW;EiCyCX,yBjCba;EiCcb,qBjCda;AH4mJjB;;AoC/mJA;EAqBI,cjCxCc;EiCyCd,oBAAoB;EAEpB,YAAY;EACZ,sBjClDW;EiCmDX,qBjChDc;AH6oJlB;;AqCppJE;EACE,uBlCyxBsC;EC9pBpC,kBAtCY;EiCnFd,gBlCmO6B;AHo7IjC;;AqClpJM;E3BqCF,8BPgM+B;EO/L/B,iCP+L+B;AHk7InC;;AqClpJM;E3BkBF,+BP8M+B;EO7M/B,kCP6M+B;AHu7InC;;AqCpqJE;EACE,uBlCuxBqC;EC5pBnC,mBAtCY;EiCnFd,gBlCoO6B;AHm8IjC;;AqClqJM;E3BqCF,8BPiM+B;EOhM/B,iCPgM+B;AHi8InC;;AqClqJM;E3BkBF,+BP+M+B;EO9M/B,kCP8M+B;AHs8InC;;AsClrJA;EACE,qBAAqB;EACrB,qBnC05BsC;ECz1BpC,cAAW;EkC/Db,gBnCuR+B;EmCtR/B,cAAc;EACd,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;E5BKtB,sBP6NgC;EiB/N9B,qIjBgb6I;AHowInJ;;AoBhrJM;EkBfN;IlBgBQ,gBAAgB;EpBorJtB;AACF;;AK1rJE;EiCGI,qBAAqB;AtC2rJ3B;;AsCzsJA;EAoBI,aAAa;AtCyrJjB;;AsCprJA;EACE,kBAAkB;EAClB,SAAS;AtCurJX;;AsChrJA;EACE,oBnC+3BsC;EmC93BtC,mBnC83BsC;EOr5BpC,oBPw5BqC;AHmzHzC;;AsC3qJE;ECjDA,WpCMa;EoCLb,yBpCiCe;AH+rJjB;;AKltJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCguJxC;;AuCnuJU;EAQJ,UAAU;EACV,+CpCsBW;AHysJjB;;AsC1rJE;ECjDA,WpCMa;EoCLb,yBpCWgB;AHouJlB;;AKjuJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC+uJxC;;AuClvJU;EAQJ,UAAU;EACV,iDpCAY;AH8uJlB;;AsCzsJE;ECjDA,WpCMa;EoCLb,yBpCwCe;AHstJjB;;AKhvJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC8vJxC;;AuCjwJU;EAQJ,UAAU;EACV,+CpC6BW;AHguJjB;;AsCxtJE;ECjDA,WpCMa;EoCLb,yBpC0Ce;AHmuJjB;;AK/vJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC6wJxC;;AuChxJU;EAQJ,UAAU;EACV,gDpC+BW;AH6uJjB;;AsCvuJE;ECjDA,cpCegB;EoCdhB,yBpCuCe;AHqvJjB;;AK9wJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC4xJxC;;AuC/xJU;EAQJ,UAAU;EACV,+CpC4BW;AH+vJjB;;AsCtvJE;ECjDA,WpCMa;EoCLb,yBpCqCe;AHswJjB;;AK7xJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvC2yJxC;;AuC9yJU;EAQJ,UAAU;EACV,+CpC0BW;AHgxJjB;;AsCrwJE;ECjDA,cpCegB;EoCdhB,yBpCMgB;AHozJlB;;AK5yJE;EkCVI,cpCUY;EoCTZ,yBAAkC;AvC0zJxC;;AuC7zJU;EAQJ,UAAU;EACV,iDpCLY;AH8zJlB;;AsCpxJE;ECjDA,WpCMa;EoCLb,yBpCagB;AH4zJlB;;AK3zJE;EkCVI,WpCCS;EoCAT,yBAAkC;AvCy0JxC;;AuC50JU;EAQJ,UAAU;EACV,8CpCEY;AHs0JlB;;AwCr1JA;EACE,kBAAoD;EACpD,mBrCuzBsC;EqCrzBtC,yBrCKgB;EOSd,qBP8N+B;AH4mJnC;;AchyJI;E0B5DJ;IAQI,kBrCizBoC;EHwiItC;AACF;;AwCt1JA;EACE,gBAAgB;EAChB,eAAe;E9BIb,gB8BHsB;AxCy1J1B;;AyCp2JA;EACE,kBAAkB;EAClB,wBtCu9ByC;EsCt9BzC,mBtCu9BsC;EsCt9BtC,6BAA6C;E/BU3C,sBP6NgC;AHioJpC;;AyCn2JA;EAEE,cAAc;AzCq2JhB;;AyCj2JA;EACE,gBtC4Q+B;AHwlJjC;;AyC51JA;EACE,mBAAsD;AzC+1JxD;;AyCh2JA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,UAAU;EACV,wBtCw7BuC;EsCv7BvC,cAAc;AzC+1JlB;;AyCr1JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBkyJlE;;A0Ct4JE;EACE,yBAAqC;A1Cy4JzC;;A0Ct4JE;EACE,cAA0B;A1Cy4J9B;;AyCn2JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBgzJlE;;A0Cp5JE;EACE,yBAAqC;A1Cu5JzC;;A0Cp5JE;EACE,cAA0B;A1Cu5J9B;;AyCj3JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB8zJlE;;A0Cl6JE;EACE,yBAAqC;A1Cq6JzC;;A0Cl6JE;EACE,cAA0B;A1Cq6J9B;;AyC/3JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB40JlE;;A0Ch7JE;EACE,yBAAqC;A1Cm7JzC;;A0Ch7JE;EACE,cAA0B;A1Cm7J9B;;AyC74JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlB01JlE;;A0C97JE;EACE,yBAAqC;A1Ci8JzC;;A0C97JE;EACE,cAA0B;A1Ci8J9B;;AyC35JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBw2JlE;;A0C58JE;EACE,yBAAqC;A1C+8JzC;;A0C58JE;EACE,cAA0B;A1C+8J9B;;AyCz6JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBs3JlE;;A0C19JE;EACE,yBAAqC;A1C69JzC;;A0C19JE;EACE,cAA0B;A1C69J9B;;AyCv7JE;EC/CA,cxBwGgE;EInG9D,yBJmG8D;EwBtGhE,qBxBsGgE;AlBo4JlE;;A0Cx+JE;EACE,yBAAqC;A1C2+JzC;;A0Cx+JE;EACE,cAA0B;A1C2+J9B;;A2Cn/JE;EACE;IAAO,2BAAuC;E3Cu/JhD;E2Ct/JE;IAAK,wBAAwB;E3Cy/J/B;AACF;;A2C5/JE;EACE;IAAO,2BAAuC;E3Cu/JhD;E2Ct/JE;IAAK,wBAAwB;E3Cy/J/B;AACF;;A2Ct/JA;EACE,aAAa;EACb,YxCg+BsC;EwC/9BtC,gBAAgB;EAChB,cAAc;EvCmHV,kBAtCY;EuC3EhB,yBxCLgB;EOSd,sBP6NgC;AHyxJpC;;A2Cr/JA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,WxCjBa;EwCkBb,kBAAkB;EAClB,mBAAmB;EACnB,yBxCQe;EiBnBX,2BjBk+B4C;AHkiIlD;;AoBhgKM;EuBDN;IvBEQ,gBAAgB;EpBogKtB;AACF;;A2C3/JA;ErBYE,qMAA6I;EqBV7I,0BxCy8BsC;AHqjIxC;;A2C1/JE;EACE,0DAA8D;EAA9D,kDAA8D;A3C6/JlE;;A2C1/JM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E3C8/JrB;AACF;;A4CziKA;EACE,aAAa;EACb,uBAAuB;A5C4iKzB;;A4CziKA;EACE,OAAO;A5C4iKT;;A6C9iKA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;EnCQd,sBP6NgC;AH20JpC;;A6CtiKA;EACE,WAAW;EACX,c1CRgB;E0CShB,mBAAmB;A7CyiKrB;;AKhjKE;EwCWE,UAAU;EACV,c1Cdc;E0Ced,qBAAqB;EACrB,yB1CtBc;AH+jKlB;;A6CnjKA;EAcI,c1ClBc;E0CmBd,yB1C1Bc;AHmkKlB;;A6ChiKA;EACE,kBAAkB;EAClB,cAAc;EACd,wB1C+8ByC;E0C58BzC,sB1C3Ca;E0C4Cb,sC1ClCa;AHmkKf;;A6CxiKA;EnCjBI,+BmC2BkC;EnC1BlC,gCmC0BkC;A7CmiKtC;;A6C7iKA;EnCHI,mCmCiBqC;EnChBrC,kCmCgBqC;A7CoiKzC;;A6CljKA;EAmBI,c1ClDc;E0CmDd,oBAAoB;EACpB,sB1C1DW;AH6lKf;;A6CxjKA;EA0BI,UAAU;EACV,W1ChEW;E0CiEX,yB1CrCa;E0CsCb,qB1CtCa;AHwkKjB;;A6C/jKA;EAiCI,mBAAmB;A7CkiKvB;;A6CnkKA;EAoCM,gB1C4J2B;E0C3J3B,qB1C2J2B;AHw4JjC;;A6CrhKI;EACE,mBAAmB;A7CwhKzB;;A6CzhKI;EnCtBA,kCPsKgC;EOlLhC,0BmCwCwC;A7CwhK5C;;A6C9hKI;EnClCA,gCPkLgC;EOtKhC,4BmCiC0C;A7CwhK9C;;A6CniKI;EAeM,aAAa;A7CwhKvB;;A6CviKI;EAmBM,qB1C0HuB;E0CzHvB,oBAAoB;A7CwhK9B;;A6C5iKI;EAuBQ,iB1CsHqB;E0CrHrB,sB1CqHqB;AHo6JjC;;AcplKI;E+BmCA;IACE,mBAAmB;E7CqjKvB;E6CtjKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CojK1C;E6C1jKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CmjK5C;E6C9jKE;IAeM,aAAa;E7CkjKrB;E6CjkKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7CijK5B;E6CrkKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EH47J/B;AACF;;Ac7mKI;E+BmCA;IACE,mBAAmB;E7C8kKvB;E6C/kKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7C6kK1C;E6CnlKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7C4kK5C;E6CvlKE;IAeM,aAAa;E7C2kKrB;E6C1lKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7C0kK5B;E6C9lKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EHq9J/B;AACF;;ActoKI;E+BmCA;IACE,mBAAmB;E7CumKvB;E6CxmKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7CsmK1C;E6C5mKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7CqmK5C;E6ChnKE;IAeM,aAAa;E7ComKrB;E6CnnKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7CmmK5B;E6CvnKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EH8+J/B;AACF;;Ac/pKI;E+BmCA;IACE,mBAAmB;E7CgoKvB;E6CjoKE;InCtBA,kCPsKgC;IOlLhC,0BmCwCwC;E7C+nK1C;E6CroKE;InClCA,gCPkLgC;IOtKhC,4BmCiC0C;E7C8nK5C;E6CzoKE;IAeM,aAAa;E7C6nKrB;E6C5oKE;IAmBM,qB1C0HuB;I0CzHvB,oBAAoB;E7C4nK5B;E6ChpKE;IAuBQ,iB1CsHqB;I0CrHrB,sB1CqHqB;EHugK/B;AACF;;A6C/mKA;EnCnHI,gBmCoHsB;A7CknK1B;;A6CnnKA;EAII,qB1CmG6B;AHghKjC;;A6CvnKA;EAOM,sBAAsB;A7ConK5B;;A8C7vKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4pKlE;;AKrvKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CgwKjD;;A8CvwKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuqKlE;;A8C7wKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4qKlE;;AKrwKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CgxKjD;;A8CvxKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBurKlE;;A8C7xKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4rKlE;;AKrxKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CgyKjD;;A8CvyKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBusKlE;;A8C7yKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4sKlE;;AKryKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9CgzKjD;;A8CvzKE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlButKlE;;A8C7zKE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4tKlE;;AKrzKE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cg0KjD;;A8Cv0KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuuKlE;;A8C70KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4uKlE;;AKr0KE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cg1KjD;;A8Cv1KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuvKlE;;A8C71KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4vKlE;;AKr1KE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cg2KjD;;A8Cv2KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuwKlE;;A8C72KE;EACE,c5BqG8D;E4BpG9D,yB5BoG8D;AlB4wKlE;;AKr2KE;EyCPM,c5BgG0D;E4B/F1D,yBAAyC;A9Cg3KjD;;A8Cv3KE;EAWM,W3CPO;E2CQP,yB5B0F0D;E4BzF1D,qB5ByF0D;AlBuxKlE;;A+Ch4KA;EACE,YAAY;E3C8HR,iBAtCY;E2CtFhB,gB5C6R+B;E4C5R/B,cAAc;EACd,W5CYa;E4CXb,yB5CCa;E4CAb,WAAW;A/Cm4Kb;;AK93KE;E0CDE,W5CMW;E4CLX,qBAAqB;A/Cm4KzB;;AK/3KE;E0CCI,YAAY;A/Ck4KlB;;A+Cv3KA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;A/C03KX;;A+Cp3KA;EACE,oBAAoB;A/Cu3KtB;;AgD75KA;EAGE,iB7Cy4BuC;E6Cx4BvC,gB7Cw4BuC;EC7wBnC,mBAtCY;E4ClFhB,2C7CAa;E6CCb,4BAA4B;EAC5B,oC7C04BmD;E6Cz4BnD,gD7COa;E6CNb,UAAU;EtCOR,sBPk4BsC;AHqhJ1C;;AgDz6KA;EAeI,sB7C83BsC;AHgiJ1C;;AgD76KA;EAmBI,UAAU;AhD85Kd;;AgDj7KA;EAuBI,cAAc;EACd,UAAU;AhD85Kd;;AgDt7KA;EA4BI,aAAa;AhD85KjB;;AgD15KA;EACE,aAAa;EACb,mBAAmB;EACnB,wB7C02BwC;E6Cz2BxC,c7CvBgB;E6CwBhB,2C7C9Ba;E6C+Bb,4BAA4B;EAC5B,4C7Ck3BoD;EO93BlD,2CQmH4D;ERlH5D,4CQkH4D;AlBwzKhE;;AgD35KA;EACE,gB7Ci2BwC;AH6jJ1C;;AiDp8KA;EAEE,gBAAgB;AjDs8KlB;;AiDx8KA;EAKI,kBAAkB;EAClB,gBAAgB;AjDu8KpB;;AiDl8KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C2pBsC;E8C1pBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjDm8KZ;;AiD57KA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C+4BuC;E8C74BvC,oBAAoB;AjD87KtB;;AiD37KE;E7B3BI,mCjBo8BoD;E8Cv6BtD,8B9Cq6BmD;AHyhJvD;;AoBv9KM;E6BuBJ;I7BtBM,gBAAgB;EpB29KtB;AACF;;AiDl8KE;EACE,e9Cm6BoC;AHkiJxC;;AiDj8KE;EACE,sB9Cg6B2C;AHoiJ/C;;AiDh8KA;EACE,aAAa;EACb,6B/BmF8D;AlBg3KhE;;AiDr8KA;EAKI,8B/BgF4D;E+B/E5D,gBAAgB;AjDo8KpB;;AiD18KA;;EAWI,cAAc;AjDo8KlB;;AiD/8KA;EAeI,gBAAgB;AjDo8KpB;;AiDh8KA;EACE,aAAa;EACb,mBAAmB;EACnB,6B/B+D8D;AlBo4KhE;;AiDt8KA;EAOI,cAAc;EACd,0B/B0D4D;E+BzD5D,2BAAmB;EAAnB,wBAAmB;EAAnB,mBAAmB;EACnB,WAAW;AjDm8Kf;;AiD78KA;EAeI,sBAAsB;EACtB,uBAAuB;EACvB,YAAY;AjDk8KhB;;AiDn9KA;EAoBM,gBAAgB;AjDm8KtB;;AiDv9KA;EAwBM,aAAa;AjDm8KnB;;AiD77KA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,WAAW;EAGX,oBAAoB;EACpB,sB9C3Ga;E8C4Gb,4BAA4B;EAC5B,oC9CnGa;EOCX,qBP8N+B;E8CxHjC,UAAU;AjD47KZ;;AiDx7KA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C+iBsC;E8C9iBtC,YAAY;EACZ,aAAa;EACb,sB9ClHa;AH6iLf;;AiDl8KA;EAUW,UAAU;AjD47KrB;;AiDt8KA;EAWW,Y9C6zB2B;AHkoJtC;;AiD17KA;EACE,aAAa;EACb,uBAAuB;EACvB,8BAA8B;EAC9B,kB9C0zBsC;E8CzzBtC,gC9CvIgB;EOiBd,0CQmH4D;ERlH5D,2CQkH4D;AlBk8KhE;;AiDp8KA;EASI,kB9CqzBoC;E8CnzBpC,8BAA6F;AjD87KjG;;AiDz7KA;EACE,gBAAgB;EAChB,gB9CsI+B;AHszKjC;;AiDv7KA;EACE,kBAAkB;EAGlB,cAAc;EACd,a9CwwBsC;AHgrJxC;;AiDp7KA;EACE,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,yBAAyB;EACzB,gBAAgE;EAChE,6B9CxKgB;EO+Bd,8CQqG4D;ERpG5D,6CQoG4D;AlB69KhE;;AiD/7KA;EAaI,eAAwC;AjDs7K5C;;AiDj7KA;EACE,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,gBAAgB;AjDo7KlB;;Ac3jLI;EmCzBJ;IAuKI,gB9CqwBqC;I8CpwBrC,oBAAyC;EjDk7K3C;EiDpkLF;IAsJI,+B/BjE4D;ElBk/K9D;EiDvkLF;IAyJM,gC/BpE0D;ElBq/K9D;EiDvjLF;IA2II,+B/BzE4D;ElBw/K9D;EiD1jLF;IA8IM,4B/B5E0D;I+B6E1D,2BAAmB;IAAnB,wBAAmB;IAAnB,mBAAmB;EjD+6KvB;EiDv6KA;IAAY,gB9C6uB2B;EH6rJvC;AACF;;AcllLI;EmC2KF;;IAEE,gB9CquBqC;EHssJvC;AACF;;AczlLI;EmCkLF;IAAY,iB9C+tB4B;EH6sJxC;AACF;;AkD1pLA;EACE,kBAAkB;EAClB,a/C+qBsC;E+C9qBtC,cAAc;EACd,S/C21BmC;EgD/1BnC,qNhDmRoO;EgDjRpO,kBAAkB;EAClB,gBhD2R+B;EgD1R/B,gBhD+R+B;EgD9R/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/CgHZ,mBAtCY;E8C9EhB,qBAAqB;EACrB,UAAU;AlDuqLZ;;AkDlrLA;EAaW,Y/C+0B2B;AH01JtC;;AkDtrLA;EAgBI,kBAAkB;EAClB,cAAc;EACd,a/C+0BqC;E+C90BrC,c/C+0BqC;AH21JzC;;AkD7rLA;EAsBM,kBAAkB;EAClB,WAAW;EACX,yBAAyB;EACzB,mBAAmB;AlD2qLzB;;AkDtqLA;EACE,iBAAgC;AlDyqLlC;;AkD1qLA;EAII,SAAS;AlD0qLb;;AkD9qLA;EAOM,MAAM;EACN,6BAAgE;EAChE,sB/CvBS;AHksLf;;AkDtqLA;EACE,iB/CqzBuC;AHo3JzC;;AkD1qLA;EAII,OAAO;EACP,a/CizBqC;E+ChzBrC,c/C+yBqC;AH23JzC;;AkDhrLA;EASM,QAAQ;EACR,oCAA2F;EAC3F,wB/CvCS;AHktLf;;AkDtqLA;EACE,iBAAgC;AlDyqLlC;;AkD1qLA;EAII,MAAM;AlD0qLV;;AkD9qLA;EAOM,SAAS;EACT,6B/C8xBmC;E+C7xBnC,yB/CrDS;AHguLf;;AkDtqLA;EACE,iB/CuxBuC;AHk5JzC;;AkD1qLA;EAII,QAAQ;EACR,a/CmxBqC;E+ClxBrC,c/CixBqC;AHy5JzC;;AkDhrLA;EASM,OAAO;EACP,oC/C8wBmC;E+C7wBnC,uB/CrES;AHgvLf;;AkDtpLA;EACE,gB/C6uBuC;E+C5uBvC,uB/CkvBuC;E+CjvBvC,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EOCX,sBP6NgC;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EoD5jC5B,YpD4jC4B;EoD3jC5B,mBpD6jC4B;AH0iK9B;;AuDhmMA;EACE;IACE,mBAAmB;EvDmmMrB;EuDjmMA;IACE,UAAU;IACV,eAAe;EvDmmMjB;AACF;;AuD1mMA;EACE;IACE,mBAAmB;EvDmmMrB;EuDjmMA;IACE,UAAU;IACV,eAAe;EvDmmMjB;AACF;;AuDhmMA;EACE,qBAAqB;EACrB,WpDoiC0B;EoDniC1B,YpDmiC0B;EoDliC1B,2BAA2B;EAC3B,8BAA8B;EAE9B,kBAAkB;EAClB,UAAU;EACV,oDAA4C;EAA5C,4CAA4C;AvDkmM9C;;AuD/lMA;EACE,WpD6hC4B;EoD5hC5B,YpD4hC4B;AHskK9B;;AuD9lME;EACE;;IAEE,gCAAwB;IAAxB,wBAAwB;EvDimM5B;AACF;;AwD7pMA;EAAqB,mCAAmC;AxDiqMxD;;AwDhqMA;EAAqB,8BAA8B;AxDoqMnD;;AwDnqMA;EAAqB,iCAAiC;AxDuqMtD;;AwDtqMA;EAAqB,iCAAiC;AxD0qMtD;;AwDzqMA;EAAqB,sCAAsC;AxD6qM3D;;AwD5qMA;EAAqB,mCAAmC;AxDgrMxD;;AyDlrME;EACE,oCAAmC;AzDqrMvC;;AK3qME;;;EoDLI,oCAAgD;AzDsrMtD;;AyD5rME;EACE,oCAAmC;AzD+rMvC;;AKrrME;;;EoDLI,oCAAgD;AzDgsMtD;;AyDtsME;EACE,oCAAmC;AzDysMvC;;AK/rME;;;EoDLI,oCAAgD;AzD0sMtD;;AyDhtME;EACE,oCAAmC;AzDmtMvC;;AKzsME;;;EoDLI,oCAAgD;AzDotMtD;;AyD1tME;EACE,oCAAmC;AzD6tMvC;;AKntME;;;EoDLI,oCAAgD;AzD8tMtD;;AyDpuME;EACE,oCAAmC;AzDuuMvC;;AK7tME;;;EoDLI,oCAAgD;AzDwuMtD;;AyD9uME;EACE,oCAAmC;AzDivMvC;;AKvuME;;;EoDLI,oCAAgD;AzDkvMtD;;AyDxvME;EACE,oCAAmC;AzD2vMvC;;AKjvME;;;EoDLI,oCAAgD;AzD4vMtD;;A0D3vMA;EACE,iCAAmC;A1D8vMrC;;A0D3vMA;EACE,wCAAwC;A1D8vM1C;;A2DzwMA;EAAkB,oCAAoD;A3D6wMtE;;A2D5wMA;EAAkB,wCAAwD;A3DgxM1E;;A2D/wMA;EAAkB,0CAA0D;A3DmxM5E;;A2DlxMA;EAAkB,2CAA2D;A3DsxM7E;;A2DrxMA;EAAkB,yCAAyD;A3DyxM3E;;A2DvxMA;EAAmB,oBAAoB;A3D2xMvC;;A2D1xMA;EAAmB,wBAAwB;A3D8xM3C;;A2D7xMA;EAAmB,0BAA0B;A3DiyM7C;;A2DhyMA;EAAmB,2BAA2B;A3DoyM9C;;A2DnyMA;EAAmB,yBAAyB;A3DuyM5C;;A2DpyME;EACE,gCAA+B;A3DuyMnC;;A2DxyME;EACE,gCAA+B;A3D2yMnC;;A2D5yME;EACE,gCAA+B;A3D+yMnC;;A2DhzME;EACE,gCAA+B;A3DmzMnC;;A2DpzME;EACE,gCAA+B;A3DuzMnC;;A2DxzME;EACE,gCAA+B;A3D2zMnC;;A2D5zME;EACE,gCAA+B;A3D+zMnC;;A2Dh0ME;EACE,gCAA+B;A3Dm0MnC;;A2D/zMA;EACE,6BAA+B;A3Dk0MjC;;A2D3zMA;EACE,gCAA2C;A3D8zM7C;;A2D3zMA;EACE,iCAAwC;A3D8zM1C;;A2D3zMA;EACE,0CAAiD;EACjD,2CAAkD;A3D8zMpD;;A2D3zMA;EACE,2CAAkD;EAClD,8CAAqD;A3D8zMvD;;A2D3zMA;EACE,8CAAqD;EACrD,6CAAoD;A3D8zMtD;;A2D3zMA;EACE,0CAAiD;EACjD,6CAAoD;A3D8zMtD;;A2D3zMA;EACE,gCAA2C;A3D8zM7C;;A2D3zMA;EACE,6BAA6B;A3D8zM/B;;A2D3zMA;EACE,+BAAuC;A3D8zMzC;;A2D3zMA;EACE,2BAA2B;A3D8zM7B;;AsDt4ME;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDy4Mf;;A4Dl4MM;EAAwB,wBAA0B;A5Ds4MxD;;A4Dt4MM;EAAwB,0BAA0B;A5D04MxD;;A4D14MM;EAAwB,gCAA0B;A5D84MxD;;A4D94MM;EAAwB,yBAA0B;A5Dk5MxD;;A4Dl5MM;EAAwB,yBAA0B;A5Ds5MxD;;A4Dt5MM;EAAwB,6BAA0B;A5D05MxD;;A4D15MM;EAAwB,8BAA0B;A5D85MxD;;A4D95MM;EAAwB,wBAA0B;A5Dk6MxD;;A4Dl6MM;EAAwB,+BAA0B;A5Ds6MxD;;Acr3MI;E8CjDE;IAAwB,wBAA0B;E5D26MtD;E4D36MI;IAAwB,0BAA0B;E5D86MtD;E4D96MI;IAAwB,gCAA0B;E5Di7MtD;E4Dj7MI;IAAwB,yBAA0B;E5Do7MtD;E4Dp7MI;IAAwB,yBAA0B;E5Du7MtD;E4Dv7MI;IAAwB,6BAA0B;E5D07MtD;E4D17MI;IAAwB,8BAA0B;E5D67MtD;E4D77MI;IAAwB,wBAA0B;E5Dg8MtD;E4Dh8MI;IAAwB,+BAA0B;E5Dm8MtD;AACF;;Acn5MI;E8CjDE;IAAwB,wBAA0B;E5Dy8MtD;E4Dz8MI;IAAwB,0BAA0B;E5D48MtD;E4D58MI;IAAwB,gCAA0B;E5D+8MtD;E4D/8MI;IAAwB,yBAA0B;E5Dk9MtD;E4Dl9MI;IAAwB,yBAA0B;E5Dq9MtD;E4Dr9MI;IAAwB,6BAA0B;E5Dw9MtD;E4Dx9MI;IAAwB,8BAA0B;E5D29MtD;E4D39MI;IAAwB,wBAA0B;E5D89MtD;E4D99MI;IAAwB,+BAA0B;E5Di+MtD;AACF;;Acj7MI;E8CjDE;IAAwB,wBAA0B;E5Du+MtD;E4Dv+MI;IAAwB,0BAA0B;E5D0+MtD;E4D1+MI;IAAwB,gCAA0B;E5D6+MtD;E4D7+MI;IAAwB,yBAA0B;E5Dg/MtD;E4Dh/MI;IAAwB,yBAA0B;E5Dm/MtD;E4Dn/MI;IAAwB,6BAA0B;E5Ds/MtD;E4Dt/MI;IAAwB,8BAA0B;E5Dy/MtD;E4Dz/MI;IAAwB,wBAA0B;E5D4/MtD;E4D5/MI;IAAwB,+BAA0B;E5D+/MtD;AACF;;Ac/8MI;E8CjDE;IAAwB,wBAA0B;E5DqgNtD;E4DrgNI;IAAwB,0BAA0B;E5DwgNtD;E4DxgNI;IAAwB,gCAA0B;E5D2gNtD;E4D3gNI;IAAwB,yBAA0B;E5D8gNtD;E4D9gNI;IAAwB,yBAA0B;E5DihNtD;E4DjhNI;IAAwB,6BAA0B;E5DohNtD;E4DphNI;IAAwB,8BAA0B;E5DuhNtD;E4DvhNI;IAAwB,wBAA0B;E5D0hNtD;E4D1hNI;IAAwB,+BAA0B;E5D6hNtD;AACF;;A4DphNA;EAEI;IAAqB,wBAA0B;E5DuhNjD;E4DvhNE;IAAqB,0BAA0B;E5D0hNjD;E4D1hNE;IAAqB,gCAA0B;E5D6hNjD;E4D7hNE;IAAqB,yBAA0B;E5DgiNjD;E4DhiNE;IAAqB,yBAA0B;E5DmiNjD;E4DniNE;IAAqB,6BAA0B;E5DsiNjD;E4DtiNE;IAAqB,8BAA0B;E5DyiNjD;E4DziNE;IAAqB,wBAA0B;E5D4iNjD;E4D5iNE;IAAqB,+BAA0B;E5D+iNjD;AACF;;A6DrkNA;EACE,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,UAAU;EACV,gBAAgB;A7DwkNlB;;A6D7kNA;EAQI,cAAc;EACd,WAAW;A7DykNf;;A6DllNA;;;;;EAiBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,OAAO;EACP,WAAW;EACX,YAAY;EACZ,SAAS;A7DykNb;;A6DjkNE;EAEI,uBAA4F;A7DmkNlG;;A6DrkNE;EAEI,mBAA4F;A7DukNlG;;A6DzkNE;EAEI,gBAA4F;A7D2kNlG;;A6D7kNE;EAEI,iBAA4F;A7D+kNlG;;A8DxmNI;EAAgC,8BAA8B;A9D4mNlE;;A8D3mNI;EAAgC,iCAAiC;A9D+mNrE;;A8D9mNI;EAAgC,sCAAsC;A9DknN1E;;A8DjnNI;EAAgC,yCAAyC;A9DqnN7E;;A8DnnNI;EAA8B,0BAA0B;A9DunN5D;;A8DtnNI;EAA8B,4BAA4B;A9D0nN9D;;A8DznNI;EAA8B,kCAAkC;A9D6nNpE;;A8D5nNI;EAA8B,yBAAyB;A9DgoN3D;;A8D/nNI;EAA8B,uBAAuB;A9DmoNzD;;A8DloNI;EAA8B,uBAAuB;A9DsoNzD;;A8DroNI;EAA8B,yBAAyB;A9DyoN3D;;A8DxoNI;EAA8B,yBAAyB;A9D4oN3D;;A8D1oNI;EAAoC,sCAAsC;A9D8oN9E;;A8D7oNI;EAAoC,oCAAoC;A9DipN5E;;A8DhpNI;EAAoC,kCAAkC;A9DopN1E;;A8DnpNI;EAAoC,yCAAyC;A9DupNjF;;A8DtpNI;EAAoC,wCAAwC;A9D0pNhF;;A8DxpNI;EAAiC,kCAAkC;A9D4pNvE;;A8D3pNI;EAAiC,gCAAgC;A9D+pNrE;;A8D9pNI;EAAiC,8BAA8B;A9DkqNnE;;A8DjqNI;EAAiC,gCAAgC;A9DqqNrE;;A8DpqNI;EAAiC,+BAA+B;A9DwqNpE;;A8DtqNI;EAAkC,oCAAoC;A9D0qN1E;;A8DzqNI;EAAkC,kCAAkC;A9D6qNxE;;A8D5qNI;EAAkC,gCAAgC;A9DgrNtE;;A8D/qNI;EAAkC,uCAAuC;A9DmrN7E;;A8DlrNI;EAAkC,sCAAsC;A9DsrN5E;;A8DrrNI;EAAkC,iCAAiC;A9DyrNvE;;A8DvrNI;EAAgC,2BAA2B;A9D2rN/D;;A8D1rNI;EAAgC,iCAAiC;A9D8rNrE;;A8D7rNI;EAAgC,+BAA+B;A9DisNnE;;A8DhsNI;EAAgC,6BAA6B;A9DosNjE;;A8DnsNI;EAAgC,+BAA+B;A9DusNnE;;A8DtsNI;EAAgC,8BAA8B;A9D0sNlE;;Ac9rNI;EgDlDA;IAAgC,8BAA8B;E9DqvNhE;E8DpvNE;IAAgC,iCAAiC;E9DuvNnE;E8DtvNE;IAAgC,sCAAsC;E9DyvNxE;E8DxvNE;IAAgC,yCAAyC;E9D2vN3E;E8DzvNE;IAA8B,0BAA0B;E9D4vN1D;E8D3vNE;IAA8B,4BAA4B;E9D8vN5D;E8D7vNE;IAA8B,kCAAkC;E9DgwNlE;E8D/vNE;IAA8B,yBAAyB;E9DkwNzD;E8DjwNE;IAA8B,uBAAuB;E9DowNvD;E8DnwNE;IAA8B,uBAAuB;E9DswNvD;E8DrwNE;IAA8B,yBAAyB;E9DwwNzD;E8DvwNE;IAA8B,yBAAyB;E9D0wNzD;E8DxwNE;IAAoC,sCAAsC;E9D2wN5E;E8D1wNE;IAAoC,oCAAoC;E9D6wN1E;E8D5wNE;IAAoC,kCAAkC;E9D+wNxE;E8D9wNE;IAAoC,yCAAyC;E9DixN/E;E8DhxNE;IAAoC,wCAAwC;E9DmxN9E;E8DjxNE;IAAiC,kCAAkC;E9DoxNrE;E8DnxNE;IAAiC,gCAAgC;E9DsxNnE;E8DrxNE;IAAiC,8BAA8B;E9DwxNjE;E8DvxNE;IAAiC,gCAAgC;E9D0xNnE;E8DzxNE;IAAiC,+BAA+B;E9D4xNlE;E8D1xNE;IAAkC,oCAAoC;E9D6xNxE;E8D5xNE;IAAkC,kCAAkC;E9D+xNtE;E8D9xNE;IAAkC,gCAAgC;E9DiyNpE;E8DhyNE;IAAkC,uCAAuC;E9DmyN3E;E8DlyNE;IAAkC,sCAAsC;E9DqyN1E;E8DpyNE;IAAkC,iCAAiC;E9DuyNrE;E8DryNE;IAAgC,2BAA2B;E9DwyN7D;E8DvyNE;IAAgC,iCAAiC;E9D0yNnE;E8DzyNE;IAAgC,+BAA+B;E9D4yNjE;E8D3yNE;IAAgC,6BAA6B;E9D8yN/D;E8D7yNE;IAAgC,+BAA+B;E9DgzNjE;E8D/yNE;IAAgC,8BAA8B;E9DkzNhE;AACF;;AcvyNI;EgDlDA;IAAgC,8BAA8B;E9D81NhE;E8D71NE;IAAgC,iCAAiC;E9Dg2NnE;E8D/1NE;IAAgC,sCAAsC;E9Dk2NxE;E8Dj2NE;IAAgC,yCAAyC;E9Do2N3E;E8Dl2NE;IAA8B,0BAA0B;E9Dq2N1D;E8Dp2NE;IAA8B,4BAA4B;E9Du2N5D;E8Dt2NE;IAA8B,kCAAkC;E9Dy2NlE;E8Dx2NE;IAA8B,yBAAyB;E9D22NzD;E8D12NE;IAA8B,uBAAuB;E9D62NvD;E8D52NE;IAA8B,uBAAuB;E9D+2NvD;E8D92NE;IAA8B,yBAAyB;E9Di3NzD;E8Dh3NE;IAA8B,yBAAyB;E9Dm3NzD;E8Dj3NE;IAAoC,sCAAsC;E9Do3N5E;E8Dn3NE;IAAoC,oCAAoC;E9Ds3N1E;E8Dr3NE;IAAoC,kCAAkC;E9Dw3NxE;E8Dv3NE;IAAoC,yCAAyC;E9D03N/E;E8Dz3NE;IAAoC,wCAAwC;E9D43N9E;E8D13NE;IAAiC,kCAAkC;E9D63NrE;E8D53NE;IAAiC,gCAAgC;E9D+3NnE;E8D93NE;IAAiC,8BAA8B;E9Di4NjE;E8Dh4NE;IAAiC,gCAAgC;E9Dm4NnE;E8Dl4NE;IAAiC,+BAA+B;E9Dq4NlE;E8Dn4NE;IAAkC,oCAAoC;E9Ds4NxE;E8Dr4NE;IAAkC,kCAAkC;E9Dw4NtE;E8Dv4NE;IAAkC,gCAAgC;E9D04NpE;E8Dz4NE;IAAkC,uCAAuC;E9D44N3E;E8D34NE;IAAkC,sCAAsC;E9D84N1E;E8D74NE;IAAkC,iCAAiC;E9Dg5NrE;E8D94NE;IAAgC,2BAA2B;E9Di5N7D;E8Dh5NE;IAAgC,iCAAiC;E9Dm5NnE;E8Dl5NE;IAAgC,+BAA+B;E9Dq5NjE;E8Dp5NE;IAAgC,6BAA6B;E9Du5N/D;E8Dt5NE;IAAgC,+BAA+B;E9Dy5NjE;E8Dx5NE;IAAgC,8BAA8B;E9D25NhE;AACF;;Ach5NI;EgDlDA;IAAgC,8BAA8B;E9Du8NhE;E8Dt8NE;IAAgC,iCAAiC;E9Dy8NnE;E8Dx8NE;IAAgC,sCAAsC;E9D28NxE;E8D18NE;IAAgC,yCAAyC;E9D68N3E;E8D38NE;IAA8B,0BAA0B;E9D88N1D;E8D78NE;IAA8B,4BAA4B;E9Dg9N5D;E8D/8NE;IAA8B,kCAAkC;E9Dk9NlE;E8Dj9NE;IAA8B,yBAAyB;E9Do9NzD;E8Dn9NE;IAA8B,uBAAuB;E9Ds9NvD;E8Dr9NE;IAA8B,uBAAuB;E9Dw9NvD;E8Dv9NE;IAA8B,yBAAyB;E9D09NzD;E8Dz9NE;IAA8B,yBAAyB;E9D49NzD;E8D19NE;IAAoC,sCAAsC;E9D69N5E;E8D59NE;IAAoC,oCAAoC;E9D+9N1E;E8D99NE;IAAoC,kCAAkC;E9Di+NxE;E8Dh+NE;IAAoC,yCAAyC;E9Dm+N/E;E8Dl+NE;IAAoC,wCAAwC;E9Dq+N9E;E8Dn+NE;IAAiC,kCAAkC;E9Ds+NrE;E8Dr+NE;IAAiC,gCAAgC;E9Dw+NnE;E8Dv+NE;IAAiC,8BAA8B;E9D0+NjE;E8Dz+NE;IAAiC,gCAAgC;E9D4+NnE;E8D3+NE;IAAiC,+BAA+B;E9D8+NlE;E8D5+NE;IAAkC,oCAAoC;E9D++NxE;E8D9+NE;IAAkC,kCAAkC;E9Di/NtE;E8Dh/NE;IAAkC,gCAAgC;E9Dm/NpE;E8Dl/NE;IAAkC,uCAAuC;E9Dq/N3E;E8Dp/NE;IAAkC,sCAAsC;E9Du/N1E;E8Dt/NE;IAAkC,iCAAiC;E9Dy/NrE;E8Dv/NE;IAAgC,2BAA2B;E9D0/N7D;E8Dz/NE;IAAgC,iCAAiC;E9D4/NnE;E8D3/NE;IAAgC,+BAA+B;E9D8/NjE;E8D7/NE;IAAgC,6BAA6B;E9DggO/D;E8D//NE;IAAgC,+BAA+B;E9DkgOjE;E8DjgOE;IAAgC,8BAA8B;E9DogOhE;AACF;;Acz/NI;EgDlDA;IAAgC,8BAA8B;E9DgjOhE;E8D/iOE;IAAgC,iCAAiC;E9DkjOnE;E8DjjOE;IAAgC,sCAAsC;E9DojOxE;E8DnjOE;IAAgC,yCAAyC;E9DsjO3E;E8DpjOE;IAA8B,0BAA0B;E9DujO1D;E8DtjOE;IAA8B,4BAA4B;E9DyjO5D;E8DxjOE;IAA8B,kCAAkC;E9D2jOlE;E8D1jOE;IAA8B,yBAAyB;E9D6jOzD;E8D5jOE;IAA8B,uBAAuB;E9D+jOvD;E8D9jOE;IAA8B,uBAAuB;E9DikOvD;E8DhkOE;IAA8B,yBAAyB;E9DmkOzD;E8DlkOE;IAA8B,yBAAyB;E9DqkOzD;E8DnkOE;IAAoC,sCAAsC;E9DskO5E;E8DrkOE;IAAoC,oCAAoC;E9DwkO1E;E8DvkOE;IAAoC,kCAAkC;E9D0kOxE;E8DzkOE;IAAoC,yCAAyC;E9D4kO/E;E8D3kOE;IAAoC,wCAAwC;E9D8kO9E;E8D5kOE;IAAiC,kCAAkC;E9D+kOrE;E8D9kOE;IAAiC,gCAAgC;E9DilOnE;E8DhlOE;IAAiC,8BAA8B;E9DmlOjE;E8DllOE;IAAiC,gCAAgC;E9DqlOnE;E8DplOE;IAAiC,+BAA+B;E9DulOlE;E8DrlOE;IAAkC,oCAAoC;E9DwlOxE;E8DvlOE;IAAkC,kCAAkC;E9D0lOtE;E8DzlOE;IAAkC,gCAAgC;E9D4lOpE;E8D3lOE;IAAkC,uCAAuC;E9D8lO3E;E8D7lOE;IAAkC,sCAAsC;E9DgmO1E;E8D/lOE;IAAkC,iCAAiC;E9DkmOrE;E8DhmOE;IAAgC,2BAA2B;E9DmmO7D;E8DlmOE;IAAgC,iCAAiC;E9DqmOnE;E8DpmOE;IAAgC,+BAA+B;E9DumOjE;E8DtmOE;IAAgC,6BAA6B;E9DymO/D;E8DxmOE;IAAgC,+BAA+B;E9D2mOjE;E8D1mOE;IAAgC,8BAA8B;E9D6mOhE;AACF;;A+DxpOI;EAAwB,sBAAsB;A/D4pOlD;;A+D3pOI;EAAwB,uBAAuB;A/D+pOnD;;A+D9pOI;EAAwB,sBAAsB;A/DkqOlD;;Ac9mOI;EiDtDA;IAAwB,sBAAsB;E/DyqOhD;E+DxqOE;IAAwB,uBAAuB;E/D2qOjD;E+D1qOE;IAAwB,sBAAsB;E/D6qOhD;AACF;;Ac1nOI;EiDtDA;IAAwB,sBAAsB;E/DqrOhD;E+DprOE;IAAwB,uBAAuB;E/DurOjD;E+DtrOE;IAAwB,sBAAsB;E/DyrOhD;AACF;;ActoOI;EiDtDA;IAAwB,sBAAsB;E/DisOhD;E+DhsOE;IAAwB,uBAAuB;E/DmsOjD;E+DlsOE;IAAwB,sBAAsB;E/DqsOhD;AACF;;AclpOI;EiDtDA;IAAwB,sBAAsB;E/D6sOhD;E+D5sOE;IAAwB,uBAAuB;E/D+sOjD;E+D9sOE;IAAwB,sBAAsB;E/DitOhD;AACF;;AgEvtOE;EAAyB,mCAA8B;EAA9B,gCAA8B;EAA9B,2BAA8B;AhE2tOzD;;AgE3tOE;EAAyB,oCAA8B;EAA9B,iCAA8B;EAA9B,gCAA8B;EAA9B,4BAA8B;AhE+tOzD;;AgE/tOE;EAAyB,oCAA8B;EAA9B,iCAA8B;EAA9B,gCAA8B;EAA9B,4BAA8B;AhEmuOzD;;AiEnuOE;EAAsB,yBAA2B;AjEuuOnD;;AiEvuOE;EAAsB,2BAA2B;AjE2uOnD;;AkE1uOE;EAAyB,2BAA8B;AlE8uOzD;;AkE9uOE;EAAyB,6BAA8B;AlEkvOzD;;AkElvOE;EAAyB,6BAA8B;AlEsvOzD;;AkEtvOE;EAAyB,0BAA8B;AlE0vOzD;;AkE1vOE;EAAyB,mCAA8B;EAA9B,2BAA8B;AlE8vOzD;;AkEzvOA;EACE,eAAe;EACf,MAAM;EACN,QAAQ;EACR,OAAO;EACP,a/DgqBsC;AH4lNxC;;AkEzvOA;EACE,eAAe;EACf,QAAQ;EACR,SAAS;EACT,OAAO;EACP,a/DwpBsC;AHomNxC;;AkExvO8B;EAD9B;IAEI,wBAAgB;IAAhB,gBAAgB;IAChB,MAAM;IACN,a/DgpBoC;EH4mNtC;AACF;;AmEtxOA;ECEE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,UAAU;EACV,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;EACtB,mBAAmB;EACnB,SAAS;ApEwxOX;;AoE9wOE;EAEE,gBAAgB;EAChB,WAAW;EACX,YAAY;EACZ,iBAAiB;EACjB,UAAU;EACV,mBAAmB;ApEgxOvB;;AqE7yOA;EAAa,8DAAqC;ArEizOlD;;AqEhzOA;EAAU,wDAAkC;ArEozO5C;;AqEnzOA;EAAa,uDAAqC;ArEuzOlD;;AqEtzOA;EAAe,2BAA2B;ArE0zO1C;;AsEzzOI;EAAuB,qBAA4B;AtE6zOvD;;AsE7zOI;EAAuB,qBAA4B;AtEi0OvD;;AsEj0OI;EAAuB,qBAA4B;AtEq0OvD;;AsEr0OI;EAAuB,sBAA4B;AtEy0OvD;;AsEz0OI;EAAuB,sBAA4B;AtE60OvD;;AsE70OI;EAAuB,sBAA4B;AtEi1OvD;;AsEj1OI;EAAuB,sBAA4B;AtEq1OvD;;AsEr1OI;EAAuB,sBAA4B;AtEy1OvD;;AsEz1OI;EAAuB,uBAA4B;AtE61OvD;;AsE71OI;EAAuB,uBAA4B;AtEi2OvD;;AsE71OA;EAAU,0BAA0B;AtEi2OpC;;AsEh2OA;EAAU,2BAA2B;AtEo2OrC;;AsEh2OA;EAAc,2BAA2B;AtEo2OzC;;AsEn2OA;EAAc,4BAA4B;AtEu2O1C;;AsEr2OA;EAAU,uBAAuB;AtEy2OjC;;AsEx2OA;EAAU,wBAAwB;AtE42OlC;;AuEr3OQ;EAAgC,oBAA4B;AvEy3OpE;;AuEx3OQ;;EAEE,wBAAoC;AvE23O9C;;AuEz3OQ;;EAEE,0BAAwC;AvE43OlD;;AuE13OQ;;EAEE,2BAA0C;AvE63OpD;;AuE33OQ;;EAEE,yBAAsC;AvE83OhD;;AuE74OQ;EAAgC,0BAA4B;AvEi5OpE;;AuEh5OQ;;EAEE,8BAAoC;AvEm5O9C;;AuEj5OQ;;EAEE,gCAAwC;AvEo5OlD;;AuEl5OQ;;EAEE,iCAA0C;AvEq5OpD;;AuEn5OQ;;EAEE,+BAAsC;AvEs5OhD;;AuEr6OQ;EAAgC,yBAA4B;AvEy6OpE;;AuEx6OQ;;EAEE,6BAAoC;AvE26O9C;;AuEz6OQ;;EAEE,+BAAwC;AvE46OlD;;AuE16OQ;;EAEE,gCAA0C;AvE66OpD;;AuE36OQ;;EAEE,8BAAsC;AvE86OhD;;AuE77OQ;EAAgC,uBAA4B;AvEi8OpE;;AuEh8OQ;;EAEE,2BAAoC;AvEm8O9C;;AuEj8OQ;;EAEE,6BAAwC;AvEo8OlD;;AuEl8OQ;;EAEE,8BAA0C;AvEq8OpD;;AuEn8OQ;;EAEE,4BAAsC;AvEs8OhD;;AuEr9OQ;EAAgC,yBAA4B;AvEy9OpE;;AuEx9OQ;;EAEE,6BAAoC;AvE29O9C;;AuEz9OQ;;EAEE,+BAAwC;AvE49OlD;;AuE19OQ;;EAEE,gCAA0C;AvE69OpD;;AuE39OQ;;EAEE,8BAAsC;AvE89OhD;;AuE7+OQ;EAAgC,uBAA4B;AvEi/OpE;;AuEh/OQ;;EAEE,2BAAoC;AvEm/O9C;;AuEj/OQ;;EAEE,6BAAwC;AvEo/OlD;;AuEl/OQ;;EAEE,8BAA0C;AvEq/OpD;;AuEn/OQ;;EAEE,4BAAsC;AvEs/OhD;;AuErgPQ;EAAgC,qBAA4B;AvEygPpE;;AuExgPQ;;EAEE,yBAAoC;AvE2gP9C;;AuEzgPQ;;EAEE,2BAAwC;AvE4gPlD;;AuE1gPQ;;EAEE,4BAA0C;AvE6gPpD;;AuE3gPQ;;EAEE,0BAAsC;AvE8gPhD;;AuE7hPQ;EAAgC,2BAA4B;AvEiiPpE;;AuEhiPQ;;EAEE,+BAAoC;AvEmiP9C;;AuEjiPQ;;EAEE,iCAAwC;AvEoiPlD;;AuEliPQ;;EAEE,kCAA0C;AvEqiPpD;;AuEniPQ;;EAEE,gCAAsC;AvEsiPhD;;AuErjPQ;EAAgC,0BAA4B;AvEyjPpE;;AuExjPQ;;EAEE,8BAAoC;AvE2jP9C;;AuEzjPQ;;EAEE,gCAAwC;AvE4jPlD;;AuE1jPQ;;EAEE,iCAA0C;AvE6jPpD;;AuE3jPQ;;EAEE,+BAAsC;AvE8jPhD;;AuE7kPQ;EAAgC,wBAA4B;AvEilPpE;;AuEhlPQ;;EAEE,4BAAoC;AvEmlP9C;;AuEjlPQ;;EAEE,8BAAwC;AvEolPlD;;AuEllPQ;;EAEE,+BAA0C;AvEqlPpD;;AuEnlPQ;;EAEE,6BAAsC;AvEslPhD;;AuErmPQ;EAAgC,0BAA4B;AvEymPpE;;AuExmPQ;;EAEE,8BAAoC;AvE2mP9C;;AuEzmPQ;;EAEE,gCAAwC;AvE4mPlD;;AuE1mPQ;;EAEE,iCAA0C;AvE6mPpD;;AuE3mPQ;;EAEE,+BAAsC;AvE8mPhD;;AuE7nPQ;EAAgC,wBAA4B;AvEioPpE;;AuEhoPQ;;EAEE,4BAAoC;AvEmoP9C;;AuEjoPQ;;EAEE,8BAAwC;AvEooPlD;;AuEloPQ;;EAEE,+BAA0C;AvEqoPpD;;AuEnoPQ;;EAEE,6BAAsC;AvEsoPhD;;AuE9nPQ;EAAwB,2BAA2B;AvEkoP3D;;AuEjoPQ;;EAEE,+BAA+B;AvEooPzC;;AuEloPQ;;EAEE,iCAAiC;AvEqoP3C;;AuEnoPQ;;EAEE,kCAAkC;AvEsoP5C;;AuEpoPQ;;EAEE,gCAAgC;AvEuoP1C;;AuEtpPQ;EAAwB,0BAA2B;AvE0pP3D;;AuEzpPQ;;EAEE,8BAA+B;AvE4pPzC;;AuE1pPQ;;EAEE,gCAAiC;AvE6pP3C;;AuE3pPQ;;EAEE,iCAAkC;AvE8pP5C;;AuE5pPQ;;EAEE,+BAAgC;AvE+pP1C;;AuE9qPQ;EAAwB,wBAA2B;AvEkrP3D;;AuEjrPQ;;EAEE,4BAA+B;AvEorPzC;;AuElrPQ;;EAEE,8BAAiC;AvEqrP3C;;AuEnrPQ;;EAEE,+BAAkC;AvEsrP5C;;AuEprPQ;;EAEE,6BAAgC;AvEurP1C;;AuEtsPQ;EAAwB,0BAA2B;AvE0sP3D;;AuEzsPQ;;EAEE,8BAA+B;AvE4sPzC;;AuE1sPQ;;EAEE,gCAAiC;AvE6sP3C;;AuE3sPQ;;EAEE,iCAAkC;AvE8sP5C;;AuE5sPQ;;EAEE,+BAAgC;AvE+sP1C;;AuE9tPQ;EAAwB,wBAA2B;AvEkuP3D;;AuEjuPQ;;EAEE,4BAA+B;AvEouPzC;;AuEluPQ;;EAEE,8BAAiC;AvEquP3C;;AuEnuPQ;;EAEE,+BAAkC;AvEsuP5C;;AuEpuPQ;;EAEE,6BAAgC;AvEuuP1C;;AuEjuPI;EAAmB,uBAAuB;AvEquP9C;;AuEpuPI;;EAEE,2BAA2B;AvEuuPjC;;AuEruPI;;EAEE,6BAA6B;AvEwuPnC;;AuEtuPI;;EAEE,8BAA8B;AvEyuPpC;;AuEvuPI;;EAEE,4BAA4B;AvE0uPlC;;AcnvPI;EyDlDI;IAAgC,oBAA4B;EvE0yPlE;EuEzyPM;;IAEE,wBAAoC;EvE2yP5C;EuEzyPM;;IAEE,0BAAwC;EvE2yPhD;EuEzyPM;;IAEE,2BAA0C;EvE2yPlD;EuEzyPM;;IAEE,yBAAsC;EvE2yP9C;EuE1zPM;IAAgC,0BAA4B;EvE6zPlE;EuE5zPM;;IAEE,8BAAoC;EvE8zP5C;EuE5zPM;;IAEE,gCAAwC;EvE8zPhD;EuE5zPM;;IAEE,iCAA0C;EvE8zPlD;EuE5zPM;;IAEE,+BAAsC;EvE8zP9C;EuE70PM;IAAgC,yBAA4B;EvEg1PlE;EuE/0PM;;IAEE,6BAAoC;EvEi1P5C;EuE/0PM;;IAEE,+BAAwC;EvEi1PhD;EuE/0PM;;IAEE,gCAA0C;EvEi1PlD;EuE/0PM;;IAEE,8BAAsC;EvEi1P9C;EuEh2PM;IAAgC,uBAA4B;EvEm2PlE;EuEl2PM;;IAEE,2BAAoC;EvEo2P5C;EuEl2PM;;IAEE,6BAAwC;EvEo2PhD;EuEl2PM;;IAEE,8BAA0C;EvEo2PlD;EuEl2PM;;IAEE,4BAAsC;EvEo2P9C;EuEn3PM;IAAgC,yBAA4B;EvEs3PlE;EuEr3PM;;IAEE,6BAAoC;EvEu3P5C;EuEr3PM;;IAEE,+BAAwC;EvEu3PhD;EuEr3PM;;IAEE,gCAA0C;EvEu3PlD;EuEr3PM;;IAEE,8BAAsC;EvEu3P9C;EuEt4PM;IAAgC,uBAA4B;EvEy4PlE;EuEx4PM;;IAEE,2BAAoC;EvE04P5C;EuEx4PM;;IAEE,6BAAwC;EvE04PhD;EuEx4PM;;IAEE,8BAA0C;EvE04PlD;EuEx4PM;;IAEE,4BAAsC;EvE04P9C;EuEz5PM;IAAgC,qBAA4B;EvE45PlE;EuE35PM;;IAEE,yBAAoC;EvE65P5C;EuE35PM;;IAEE,2BAAwC;EvE65PhD;EuE35PM;;IAEE,4BAA0C;EvE65PlD;EuE35PM;;IAEE,0BAAsC;EvE65P9C;EuE56PM;IAAgC,2BAA4B;EvE+6PlE;EuE96PM;;IAEE,+BAAoC;EvEg7P5C;EuE96PM;;IAEE,iCAAwC;EvEg7PhD;EuE96PM;;IAEE,kCAA0C;EvEg7PlD;EuE96PM;;IAEE,gCAAsC;EvEg7P9C;EuE/7PM;IAAgC,0BAA4B;EvEk8PlE;EuEj8PM;;IAEE,8BAAoC;EvEm8P5C;EuEj8PM;;IAEE,gCAAwC;EvEm8PhD;EuEj8PM;;IAEE,iCAA0C;EvEm8PlD;EuEj8PM;;IAEE,+BAAsC;EvEm8P9C;EuEl9PM;IAAgC,wBAA4B;EvEq9PlE;EuEp9PM;;IAEE,4BAAoC;EvEs9P5C;EuEp9PM;;IAEE,8BAAwC;EvEs9PhD;EuEp9PM;;IAEE,+BAA0C;EvEs9PlD;EuEp9PM;;IAEE,6BAAsC;EvEs9P9C;EuEr+PM;IAAgC,0BAA4B;EvEw+PlE;EuEv+PM;;IAEE,8BAAoC;EvEy+P5C;EuEv+PM;;IAEE,gCAAwC;EvEy+PhD;EuEv+PM;;IAEE,iCAA0C;EvEy+PlD;EuEv+PM;;IAEE,+BAAsC;EvEy+P9C;EuEx/PM;IAAgC,wBAA4B;EvE2/PlE;EuE1/PM;;IAEE,4BAAoC;EvE4/P5C;EuE1/PM;;IAEE,8BAAwC;EvE4/PhD;EuE1/PM;;IAEE,+BAA0C;EvE4/PlD;EuE1/PM;;IAEE,6BAAsC;EvE4/P9C;EuEp/PM;IAAwB,2BAA2B;EvEu/PzD;EuEt/PM;;IAEE,+BAA+B;EvEw/PvC;EuEt/PM;;IAEE,iCAAiC;EvEw/PzC;EuEt/PM;;IAEE,kCAAkC;EvEw/P1C;EuEt/PM;;IAEE,gCAAgC;EvEw/PxC;EuEvgQM;IAAwB,0BAA2B;EvE0gQzD;EuEzgQM;;IAEE,8BAA+B;EvE2gQvC;EuEzgQM;;IAEE,gCAAiC;EvE2gQzC;EuEzgQM;;IAEE,iCAAkC;EvE2gQ1C;EuEzgQM;;IAEE,+BAAgC;EvE2gQxC;EuE1hQM;IAAwB,wBAA2B;EvE6hQzD;EuE5hQM;;IAEE,4BAA+B;EvE8hQvC;EuE5hQM;;IAEE,8BAAiC;EvE8hQzC;EuE5hQM;;IAEE,+BAAkC;EvE8hQ1C;EuE5hQM;;IAEE,6BAAgC;EvE8hQxC;EuE7iQM;IAAwB,0BAA2B;EvEgjQzD;EuE/iQM;;IAEE,8BAA+B;EvEijQvC;EuE/iQM;;IAEE,gCAAiC;EvEijQzC;EuE/iQM;;IAEE,iCAAkC;EvEijQ1C;EuE/iQM;;IAEE,+BAAgC;EvEijQxC;EuEhkQM;IAAwB,wBAA2B;EvEmkQzD;EuElkQM;;IAEE,4BAA+B;EvEokQvC;EuElkQM;;IAEE,8BAAiC;EvEokQzC;EuElkQM;;IAEE,+BAAkC;EvEokQ1C;EuElkQM;;IAEE,6BAAgC;EvEokQxC;EuE9jQE;IAAmB,uBAAuB;EvEikQ5C;EuEhkQE;;IAEE,2BAA2B;EvEkkQ/B;EuEhkQE;;IAEE,6BAA6B;EvEkkQjC;EuEhkQE;;IAEE,8BAA8B;EvEkkQlC;EuEhkQE;;IAEE,4BAA4B;EvEkkQhC;AACF;;Ac5kQI;EyDlDI;IAAgC,oBAA4B;EvEmoQlE;EuEloQM;;IAEE,wBAAoC;EvEooQ5C;EuEloQM;;IAEE,0BAAwC;EvEooQhD;EuEloQM;;IAEE,2BAA0C;EvEooQlD;EuEloQM;;IAEE,yBAAsC;EvEooQ9C;EuEnpQM;IAAgC,0BAA4B;EvEspQlE;EuErpQM;;IAEE,8BAAoC;EvEupQ5C;EuErpQM;;IAEE,gCAAwC;EvEupQhD;EuErpQM;;IAEE,iCAA0C;EvEupQlD;EuErpQM;;IAEE,+BAAsC;EvEupQ9C;EuEtqQM;IAAgC,yBAA4B;EvEyqQlE;EuExqQM;;IAEE,6BAAoC;EvE0qQ5C;EuExqQM;;IAEE,+BAAwC;EvE0qQhD;EuExqQM;;IAEE,gCAA0C;EvE0qQlD;EuExqQM;;IAEE,8BAAsC;EvE0qQ9C;EuEzrQM;IAAgC,uBAA4B;EvE4rQlE;EuE3rQM;;IAEE,2BAAoC;EvE6rQ5C;EuE3rQM;;IAEE,6BAAwC;EvE6rQhD;EuE3rQM;;IAEE,8BAA0C;EvE6rQlD;EuE3rQM;;IAEE,4BAAsC;EvE6rQ9C;EuE5sQM;IAAgC,yBAA4B;EvE+sQlE;EuE9sQM;;IAEE,6BAAoC;EvEgtQ5C;EuE9sQM;;IAEE,+BAAwC;EvEgtQhD;EuE9sQM;;IAEE,gCAA0C;EvEgtQlD;EuE9sQM;;IAEE,8BAAsC;EvEgtQ9C;EuE/tQM;IAAgC,uBAA4B;EvEkuQlE;EuEjuQM;;IAEE,2BAAoC;EvEmuQ5C;EuEjuQM;;IAEE,6BAAwC;EvEmuQhD;EuEjuQM;;IAEE,8BAA0C;EvEmuQlD;EuEjuQM;;IAEE,4BAAsC;EvEmuQ9C;EuElvQM;IAAgC,qBAA4B;EvEqvQlE;EuEpvQM;;IAEE,yBAAoC;EvEsvQ5C;EuEpvQM;;IAEE,2BAAwC;EvEsvQhD;EuEpvQM;;IAEE,4BAA0C;EvEsvQlD;EuEpvQM;;IAEE,0BAAsC;EvEsvQ9C;EuErwQM;IAAgC,2BAA4B;EvEwwQlE;EuEvwQM;;IAEE,+BAAoC;EvEywQ5C;EuEvwQM;;IAEE,iCAAwC;EvEywQhD;EuEvwQM;;IAEE,kCAA0C;EvEywQlD;EuEvwQM;;IAEE,gCAAsC;EvEywQ9C;EuExxQM;IAAgC,0BAA4B;EvE2xQlE;EuE1xQM;;IAEE,8BAAoC;EvE4xQ5C;EuE1xQM;;IAEE,gCAAwC;EvE4xQhD;EuE1xQM;;IAEE,iCAA0C;EvE4xQlD;EuE1xQM;;IAEE,+BAAsC;EvE4xQ9C;EuE3yQM;IAAgC,wBAA4B;EvE8yQlE;EuE7yQM;;IAEE,4BAAoC;EvE+yQ5C;EuE7yQM;;IAEE,8BAAwC;EvE+yQhD;EuE7yQM;;IAEE,+BAA0C;EvE+yQlD;EuE7yQM;;IAEE,6BAAsC;EvE+yQ9C;EuE9zQM;IAAgC,0BAA4B;EvEi0QlE;EuEh0QM;;IAEE,8BAAoC;EvEk0Q5C;EuEh0QM;;IAEE,gCAAwC;EvEk0QhD;EuEh0QM;;IAEE,iCAA0C;EvEk0QlD;EuEh0QM;;IAEE,+BAAsC;EvEk0Q9C;EuEj1QM;IAAgC,wBAA4B;EvEo1QlE;EuEn1QM;;IAEE,4BAAoC;EvEq1Q5C;EuEn1QM;;IAEE,8BAAwC;EvEq1QhD;EuEn1QM;;IAEE,+BAA0C;EvEq1QlD;EuEn1QM;;IAEE,6BAAsC;EvEq1Q9C;EuE70QM;IAAwB,2BAA2B;EvEg1QzD;EuE/0QM;;IAEE,+BAA+B;EvEi1QvC;EuE/0QM;;IAEE,iCAAiC;EvEi1QzC;EuE/0QM;;IAEE,kCAAkC;EvEi1Q1C;EuE/0QM;;IAEE,gCAAgC;EvEi1QxC;EuEh2QM;IAAwB,0BAA2B;EvEm2QzD;EuEl2QM;;IAEE,8BAA+B;EvEo2QvC;EuEl2QM;;IAEE,gCAAiC;EvEo2QzC;EuEl2QM;;IAEE,iCAAkC;EvEo2Q1C;EuEl2QM;;IAEE,+BAAgC;EvEo2QxC;EuEn3QM;IAAwB,wBAA2B;EvEs3QzD;EuEr3QM;;IAEE,4BAA+B;EvEu3QvC;EuEr3QM;;IAEE,8BAAiC;EvEu3QzC;EuEr3QM;;IAEE,+BAAkC;EvEu3Q1C;EuEr3QM;;IAEE,6BAAgC;EvEu3QxC;EuEt4QM;IAAwB,0BAA2B;EvEy4QzD;EuEx4QM;;IAEE,8BAA+B;EvE04QvC;EuEx4QM;;IAEE,gCAAiC;EvE04QzC;EuEx4QM;;IAEE,iCAAkC;EvE04Q1C;EuEx4QM;;IAEE,+BAAgC;EvE04QxC;EuEz5QM;IAAwB,wBAA2B;EvE45QzD;EuE35QM;;IAEE,4BAA+B;EvE65QvC;EuE35QM;;IAEE,8BAAiC;EvE65QzC;EuE35QM;;IAEE,+BAAkC;EvE65Q1C;EuE35QM;;IAEE,6BAAgC;EvE65QxC;EuEv5QE;IAAmB,uBAAuB;EvE05Q5C;EuEz5QE;;IAEE,2BAA2B;EvE25Q/B;EuEz5QE;;IAEE,6BAA6B;EvE25QjC;EuEz5QE;;IAEE,8BAA8B;EvE25QlC;EuEz5QE;;IAEE,4BAA4B;EvE25QhC;AACF;;Acr6QI;EyDlDI;IAAgC,oBAA4B;EvE49QlE;EuE39QM;;IAEE,wBAAoC;EvE69Q5C;EuE39QM;;IAEE,0BAAwC;EvE69QhD;EuE39QM;;IAEE,2BAA0C;EvE69QlD;EuE39QM;;IAEE,yBAAsC;EvE69Q9C;EuE5+QM;IAAgC,0BAA4B;EvE++QlE;EuE9+QM;;IAEE,8BAAoC;EvEg/Q5C;EuE9+QM;;IAEE,gCAAwC;EvEg/QhD;EuE9+QM;;IAEE,iCAA0C;EvEg/QlD;EuE9+QM;;IAEE,+BAAsC;EvEg/Q9C;EuE//QM;IAAgC,yBAA4B;EvEkgRlE;EuEjgRM;;IAEE,6BAAoC;EvEmgR5C;EuEjgRM;;IAEE,+BAAwC;EvEmgRhD;EuEjgRM;;IAEE,gCAA0C;EvEmgRlD;EuEjgRM;;IAEE,8BAAsC;EvEmgR9C;EuElhRM;IAAgC,uBAA4B;EvEqhRlE;EuEphRM;;IAEE,2BAAoC;EvEshR5C;EuEphRM;;IAEE,6BAAwC;EvEshRhD;EuEphRM;;IAEE,8BAA0C;EvEshRlD;EuEphRM;;IAEE,4BAAsC;EvEshR9C;EuEriRM;IAAgC,yBAA4B;EvEwiRlE;EuEviRM;;IAEE,6BAAoC;EvEyiR5C;EuEviRM;;IAEE,+BAAwC;EvEyiRhD;EuEviRM;;IAEE,gCAA0C;EvEyiRlD;EuEviRM;;IAEE,8BAAsC;EvEyiR9C;EuExjRM;IAAgC,uBAA4B;EvE2jRlE;EuE1jRM;;IAEE,2BAAoC;EvE4jR5C;EuE1jRM;;IAEE,6BAAwC;EvE4jRhD;EuE1jRM;;IAEE,8BAA0C;EvE4jRlD;EuE1jRM;;IAEE,4BAAsC;EvE4jR9C;EuE3kRM;IAAgC,qBAA4B;EvE8kRlE;EuE7kRM;;IAEE,yBAAoC;EvE+kR5C;EuE7kRM;;IAEE,2BAAwC;EvE+kRhD;EuE7kRM;;IAEE,4BAA0C;EvE+kRlD;EuE7kRM;;IAEE,0BAAsC;EvE+kR9C;EuE9lRM;IAAgC,2BAA4B;EvEimRlE;EuEhmRM;;IAEE,+BAAoC;EvEkmR5C;EuEhmRM;;IAEE,iCAAwC;EvEkmRhD;EuEhmRM;;IAEE,kCAA0C;EvEkmRlD;EuEhmRM;;IAEE,gCAAsC;EvEkmR9C;EuEjnRM;IAAgC,0BAA4B;EvEonRlE;EuEnnRM;;IAEE,8BAAoC;EvEqnR5C;EuEnnRM;;IAEE,gCAAwC;EvEqnRhD;EuEnnRM;;IAEE,iCAA0C;EvEqnRlD;EuEnnRM;;IAEE,+BAAsC;EvEqnR9C;EuEpoRM;IAAgC,wBAA4B;EvEuoRlE;EuEtoRM;;IAEE,4BAAoC;EvEwoR5C;EuEtoRM;;IAEE,8BAAwC;EvEwoRhD;EuEtoRM;;IAEE,+BAA0C;EvEwoRlD;EuEtoRM;;IAEE,6BAAsC;EvEwoR9C;EuEvpRM;IAAgC,0BAA4B;EvE0pRlE;EuEzpRM;;IAEE,8BAAoC;EvE2pR5C;EuEzpRM;;IAEE,gCAAwC;EvE2pRhD;EuEzpRM;;IAEE,iCAA0C;EvE2pRlD;EuEzpRM;;IAEE,+BAAsC;EvE2pR9C;EuE1qRM;IAAgC,wBAA4B;EvE6qRlE;EuE5qRM;;IAEE,4BAAoC;EvE8qR5C;EuE5qRM;;IAEE,8BAAwC;EvE8qRhD;EuE5qRM;;IAEE,+BAA0C;EvE8qRlD;EuE5qRM;;IAEE,6BAAsC;EvE8qR9C;EuEtqRM;IAAwB,2BAA2B;EvEyqRzD;EuExqRM;;IAEE,+BAA+B;EvE0qRvC;EuExqRM;;IAEE,iCAAiC;EvE0qRzC;EuExqRM;;IAEE,kCAAkC;EvE0qR1C;EuExqRM;;IAEE,gCAAgC;EvE0qRxC;EuEzrRM;IAAwB,0BAA2B;EvE4rRzD;EuE3rRM;;IAEE,8BAA+B;EvE6rRvC;EuE3rRM;;IAEE,gCAAiC;EvE6rRzC;EuE3rRM;;IAEE,iCAAkC;EvE6rR1C;EuE3rRM;;IAEE,+BAAgC;EvE6rRxC;EuE5sRM;IAAwB,wBAA2B;EvE+sRzD;EuE9sRM;;IAEE,4BAA+B;EvEgtRvC;EuE9sRM;;IAEE,8BAAiC;EvEgtRzC;EuE9sRM;;IAEE,+BAAkC;EvEgtR1C;EuE9sRM;;IAEE,6BAAgC;EvEgtRxC;EuE/tRM;IAAwB,0BAA2B;EvEkuRzD;EuEjuRM;;IAEE,8BAA+B;EvEmuRvC;EuEjuRM;;IAEE,gCAAiC;EvEmuRzC;EuEjuRM;;IAEE,iCAAkC;EvEmuR1C;EuEjuRM;;IAEE,+BAAgC;EvEmuRxC;EuElvRM;IAAwB,wBAA2B;EvEqvRzD;EuEpvRM;;IAEE,4BAA+B;EvEsvRvC;EuEpvRM;;IAEE,8BAAiC;EvEsvRzC;EuEpvRM;;IAEE,+BAAkC;EvEsvR1C;EuEpvRM;;IAEE,6BAAgC;EvEsvRxC;EuEhvRE;IAAmB,uBAAuB;EvEmvR5C;EuElvRE;;IAEE,2BAA2B;EvEovR/B;EuElvRE;;IAEE,6BAA6B;EvEovRjC;EuElvRE;;IAEE,8BAA8B;EvEovRlC;EuElvRE;;IAEE,4BAA4B;EvEovRhC;AACF;;Ac9vRI;EyDlDI;IAAgC,oBAA4B;EvEqzRlE;EuEpzRM;;IAEE,wBAAoC;EvEszR5C;EuEpzRM;;IAEE,0BAAwC;EvEszRhD;EuEpzRM;;IAEE,2BAA0C;EvEszRlD;EuEpzRM;;IAEE,yBAAsC;EvEszR9C;EuEr0RM;IAAgC,0BAA4B;EvEw0RlE;EuEv0RM;;IAEE,8BAAoC;EvEy0R5C;EuEv0RM;;IAEE,gCAAwC;EvEy0RhD;EuEv0RM;;IAEE,iCAA0C;EvEy0RlD;EuEv0RM;;IAEE,+BAAsC;EvEy0R9C;EuEx1RM;IAAgC,yBAA4B;EvE21RlE;EuE11RM;;IAEE,6BAAoC;EvE41R5C;EuE11RM;;IAEE,+BAAwC;EvE41RhD;EuE11RM;;IAEE,gCAA0C;EvE41RlD;EuE11RM;;IAEE,8BAAsC;EvE41R9C;EuE32RM;IAAgC,uBAA4B;EvE82RlE;EuE72RM;;IAEE,2BAAoC;EvE+2R5C;EuE72RM;;IAEE,6BAAwC;EvE+2RhD;EuE72RM;;IAEE,8BAA0C;EvE+2RlD;EuE72RM;;IAEE,4BAAsC;EvE+2R9C;EuE93RM;IAAgC,yBAA4B;EvEi4RlE;EuEh4RM;;IAEE,6BAAoC;EvEk4R5C;EuEh4RM;;IAEE,+BAAwC;EvEk4RhD;EuEh4RM;;IAEE,gCAA0C;EvEk4RlD;EuEh4RM;;IAEE,8BAAsC;EvEk4R9C;EuEj5RM;IAAgC,uBAA4B;EvEo5RlE;EuEn5RM;;IAEE,2BAAoC;EvEq5R5C;EuEn5RM;;IAEE,6BAAwC;EvEq5RhD;EuEn5RM;;IAEE,8BAA0C;EvEq5RlD;EuEn5RM;;IAEE,4BAAsC;EvEq5R9C;EuEp6RM;IAAgC,qBAA4B;EvEu6RlE;EuEt6RM;;IAEE,yBAAoC;EvEw6R5C;EuEt6RM;;IAEE,2BAAwC;EvEw6RhD;EuEt6RM;;IAEE,4BAA0C;EvEw6RlD;EuEt6RM;;IAEE,0BAAsC;EvEw6R9C;EuEv7RM;IAAgC,2BAA4B;EvE07RlE;EuEz7RM;;IAEE,+BAAoC;EvE27R5C;EuEz7RM;;IAEE,iCAAwC;EvE27RhD;EuEz7RM;;IAEE,kCAA0C;EvE27RlD;EuEz7RM;;IAEE,gCAAsC;EvE27R9C;EuE18RM;IAAgC,0BAA4B;EvE68RlE;EuE58RM;;IAEE,8BAAoC;EvE88R5C;EuE58RM;;IAEE,gCAAwC;EvE88RhD;EuE58RM;;IAEE,iCAA0C;EvE88RlD;EuE58RM;;IAEE,+BAAsC;EvE88R9C;EuE79RM;IAAgC,wBAA4B;EvEg+RlE;EuE/9RM;;IAEE,4BAAoC;EvEi+R5C;EuE/9RM;;IAEE,8BAAwC;EvEi+RhD;EuE/9RM;;IAEE,+BAA0C;EvEi+RlD;EuE/9RM;;IAEE,6BAAsC;EvEi+R9C;EuEh/RM;IAAgC,0BAA4B;EvEm/RlE;EuEl/RM;;IAEE,8BAAoC;EvEo/R5C;EuEl/RM;;IAEE,gCAAwC;EvEo/RhD;EuEl/RM;;IAEE,iCAA0C;EvEo/RlD;EuEl/RM;;IAEE,+BAAsC;EvEo/R9C;EuEngSM;IAAgC,wBAA4B;EvEsgSlE;EuErgSM;;IAEE,4BAAoC;EvEugS5C;EuErgSM;;IAEE,8BAAwC;EvEugShD;EuErgSM;;IAEE,+BAA0C;EvEugSlD;EuErgSM;;IAEE,6BAAsC;EvEugS9C;EuE//RM;IAAwB,2BAA2B;EvEkgSzD;EuEjgSM;;IAEE,+BAA+B;EvEmgSvC;EuEjgSM;;IAEE,iCAAiC;EvEmgSzC;EuEjgSM;;IAEE,kCAAkC;EvEmgS1C;EuEjgSM;;IAEE,gCAAgC;EvEmgSxC;EuElhSM;IAAwB,0BAA2B;EvEqhSzD;EuEphSM;;IAEE,8BAA+B;EvEshSvC;EuEphSM;;IAEE,gCAAiC;EvEshSzC;EuEphSM;;IAEE,iCAAkC;EvEshS1C;EuEphSM;;IAEE,+BAAgC;EvEshSxC;EuEriSM;IAAwB,wBAA2B;EvEwiSzD;EuEviSM;;IAEE,4BAA+B;EvEyiSvC;EuEviSM;;IAEE,8BAAiC;EvEyiSzC;EuEviSM;;IAEE,+BAAkC;EvEyiS1C;EuEviSM;;IAEE,6BAAgC;EvEyiSxC;EuExjSM;IAAwB,0BAA2B;EvE2jSzD;EuE1jSM;;IAEE,8BAA+B;EvE4jSvC;EuE1jSM;;IAEE,gCAAiC;EvE4jSzC;EuE1jSM;;IAEE,iCAAkC;EvE4jS1C;EuE1jSM;;IAEE,+BAAgC;EvE4jSxC;EuE3kSM;IAAwB,wBAA2B;EvE8kSzD;EuE7kSM;;IAEE,4BAA+B;EvE+kSvC;EuE7kSM;;IAEE,8BAAiC;EvE+kSzC;EuE7kSM;;IAEE,+BAAkC;EvE+kS1C;EuE7kSM;;IAEE,6BAAgC;EvE+kSxC;EuEzkSE;IAAmB,uBAAuB;EvE4kS5C;EuE3kSE;;IAEE,2BAA2B;EvE6kS/B;EuE3kSE;;IAEE,6BAA6B;EvE6kSjC;EuE3kSE;;IAEE,8BAA8B;EvE6kSlC;EuE3kSE;;IAEE,4BAA4B;EvE6kShC;AACF;;AwE/oSA;EAEI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,UAAU;EAEV,oBAAoB;EACpB,WAAW;EAEX,kCAAkC;AxE+oStC;;AyEzpSA;EAAkB,4GAA8C;AzE6pShE;;AyEzpSA;EAAiB,8BAA8B;AzE6pS/C;;AyE5pSA;EAAiB,8BAA8B;AzEgqS/C;;AyE/pSA;EAAiB,8BAA8B;AzEmqS/C;;AyElqSA;ECTE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;A1E+qSrB;;AyEhqSI;EAAwB,2BAA2B;AzEoqSvD;;AyEnqSI;EAAwB,4BAA4B;AzEuqSxD;;AyEtqSI;EAAwB,6BAA6B;AzE0qSzD;;AcroSI;E2DvCA;IAAwB,2BAA2B;EzEirSrD;EyEhrSE;IAAwB,4BAA4B;EzEmrStD;EyElrSE;IAAwB,6BAA6B;EzEqrSvD;AACF;;AcjpSI;E2DvCA;IAAwB,2BAA2B;EzE6rSrD;EyE5rSE;IAAwB,4BAA4B;EzE+rStD;EyE9rSE;IAAwB,6BAA6B;EzEisSvD;AACF;;Ac7pSI;E2DvCA;IAAwB,2BAA2B;EzEysSrD;EyExsSE;IAAwB,4BAA4B;EzE2sStD;EyE1sSE;IAAwB,6BAA6B;EzE6sSvD;AACF;;AczqSI;E2DvCA;IAAwB,2BAA2B;EzEqtSrD;EyEptSE;IAAwB,4BAA4B;EzEutStD;EyEttSE;IAAwB,6BAA6B;EzEytSvD;AACF;;AyEptSA;EAAmB,oCAAoC;AzEwtSvD;;AyEvtSA;EAAmB,oCAAoC;AzE2tSvD;;AyE1tSA;EAAmB,qCAAqC;AzE8tSxD;;AyE1tSA;EAAuB,2BAA0C;AzE8tSjE;;AyE7tSA;EAAuB,+BAA4C;AzEiuSnE;;AyEhuSA;EAAuB,2BAA2C;AzEouSlE;;AyEnuSA;EAAuB,2BAAyC;AzEuuShE;;AyEtuSA;EAAuB,8BAA2C;AzE0uSlE;;AyEzuSA;EAAuB,6BAA6B;AzE6uSpD;;AyEzuSA;EAAc,sBAAwB;AzE6uStC;;A2EpxSE;EACE,yBAAwB;A3EuxS5B;;AK7wSE;EsELM,yBAA0E;A3EsxSlF;;A2E5xSE;EACE,yBAAwB;A3E+xS5B;;AKrxSE;EsELM,yBAA0E;A3E8xSlF;;A2EpySE;EACE,yBAAwB;A3EuyS5B;;AK7xSE;EsELM,yBAA0E;A3EsySlF;;A2E5ySE;EACE,yBAAwB;A3E+yS5B;;AKrySE;EsELM,yBAA0E;A3E8ySlF;;A2EpzSE;EACE,yBAAwB;A3EuzS5B;;AK7ySE;EsELM,yBAA0E;A3EszSlF;;A2E5zSE;EACE,yBAAwB;A3E+zS5B;;AKrzSE;EsELM,yBAA0E;A3E8zSlF;;A2Ep0SE;EACE,yBAAwB;A3Eu0S5B;;AK7zSE;EsELM,yBAA0E;A3Es0SlF;;A2E50SE;EACE,yBAAwB;A3E+0S5B;;AKr0SE;EsELM,yBAA0E;A3E80SlF;;AyEvySA;EAAa,yBAA6B;AzE2yS1C;;AyE1ySA;EAAc,yBAA6B;AzE8yS3C;;AyE5ySA;EAAiB,oCAAkC;AzEgzSnD;;AyE/ySA;EAAiB,0CAAkC;AzEmzSnD;;AyE/ySA;EGvDE,WAAW;EACX,kBAAkB;EAClB,iBAAiB;EACjB,6BAA6B;EAC7B,SAAS;A5E02SX;;AyEnzSA;EAAwB,gCAAgC;AzEuzSxD;;AyErzSA;EACE,iCAAiC;EACjC,gCAAgC;AzEwzSlC;;AyEnzSA;EAAc,yBAAyB;AzEuzSvC;;A6Ex3SA;EACE,8BAA8B;A7E23ShC;;A6Ex3SA;EACE,6BAA6B;A7E23S/B;;A8E33SE;E5EOF;;;I4EDM,4BAA4B;IAE5B,2BAA2B;E9E23S/B;E8Ex3SE;IAEI,0BAA0B;E9Ey3ShC;E8Eh3SE;IACE,6BAA6B;E9Ek3SjC;EEprSF;I4E/KM,gCAAgC;E9Es2SpC;E8Ep2SE;;IAEE,yB3EzCY;I2E0CZ,wBAAwB;E9Es2S5B;E8E91SE;IACE,2BAA2B;E9Eg2S/B;E8E71SE;;IAEE,wBAAwB;E9E+1S5B;E8E51SE;;;IAGE,UAAU;IACV,SAAS;E9E81Sb;E8E31SE;;IAEE,uBAAuB;E9E61S3B;E8Er1SE;IACE,Q3E+hCgC;EHwzQpC;EEn4SF;I4E+CM,2BAA2C;E9Eu1S/C;E8Er1SE;IACE,2BAA2C;E9Eu1S/C;EiCr6SF;I6CmFM,aAAa;E9Eq1SjB;EsCp7SF;IwCkGM,sB3EtFS;EH26Sb;EgBx7SF;I8DuGM,oCAAoC;E9Eo1SxC;E8Er1SE;;IAKI,iCAAmC;E9Eo1SzC;EgBv5SF;;I8D0EQ,oCAAsC;E9Ei1S5C;EgBt0SF;I8DNM,cAAc;E9E+0SlB;EiBr8SA;;;;I6D4HM,qB3EvHU;EHs8ShB;EgBj2SF;I8DuBM,cAAc;IACd,qB3E7HY;EH08ShB;AACF;;A+Er9SA;;EAEE,iBAAiB;EACjB,c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AA+C;IAC/C,cAAc;E/EwlThB;E+E30TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E6lThB;E+Eh1TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EkmThB;E+Er1TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EumThB;E+E11TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E4mThB;E+E/1TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EinThB;E+Ep2TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EsnThB;E+Ez2TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E2nThB;E+E92TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EgoThB;E+En3TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EqoThB;AACF;;Ac7zTI;EiE5DJ;;IAkPI,eAA6B;IAC7B,cAAc;E/E6oThB;E+Eh4TF;;IAkPI,uBAA+C;IAC/C,cAAc;E/EkpThB;E+Er4TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EupThB;E+E14TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E4pThB;E+E/4TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EiqThB;E+Ep5TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EsqThB;E+Ez5TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E2qThB;E+E95TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EgrThB;E+En6TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EqrThB;E+Ex6TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E0rThB;E+E76TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/E+rThB;E+El7TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EosThB;AACF;;Ac53TI;EiE5DJ;;IAkPI,eAA6B;IAC7B,cAAc;E/E4sThB;E+E/7TF;;IAkPI,uBAA+C;IAC/C,cAAc;E/EitThB;E+Ep8TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EstThB;E+Ez8TF;;IAkPI,iBAA+C;IAC/C,cAAc;E/E2tThB;E+E98TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EguThB;E+En9TF;;IAkPI,wBAA+C;IAC/C,cAAc;E/EquThB;E+Ex9TF;;IAkPI,iBAA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","file":"bootstrap-rtl.css","sourcesContent":["/*!\n * Bootstrap v4.5.2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n @import \"functions\";\n @import \"variables\";\n @import \"mixins\";\n @import \"root\";\n @import \"reboot\";\n @import \"type\";\n @import \"images\";\n @import \"code\";\n @import \"grid\";\n @import \"tables\";\n @import \"forms\";\n @import \"buttons\";\n @import \"transitions\";\n @import \"dropdown\";\n @import \"button-group\";\n @import \"input-group\";\n @import \"custom-forms\";\n @import \"nav\";\n @import \"navbar\";\n @import \"card\";\n @import \"breadcrumb\";\n @import \"pagination\";\n @import \"badge\";\n @import \"jumbotron\";\n @import \"alert\";\n @import \"progress\";\n @import \"media\";\n @import \"list-group\";\n @import \"close\";\n @import \"toasts\";\n @import \"modal\";\n @import \"tooltip\";\n @import \"popover\";\n @import \"carousel\";\n @import \"spinners\";\n @import \"utilities\";\n @import \"print\";\n\n@import \"rtl\";\n","/*!\n * Bootstrap v4.5.2 (https://getbootstrap.com/)\n * Copyright 2011-2020 The Bootstrap Authors\n * Copyright 2011-2020 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --blue: #007bff;\n --indigo: #6610f2;\n --purple: #6f42c1;\n --pink: #e83e8c;\n --red: #dc3545;\n --orange: #fd7e14;\n --yellow: #ffc107;\n --green: #28a745;\n --teal: #20c997;\n --cyan: #17a2b8;\n --white: #fff;\n --gray: #6c757d;\n --gray-dark: #343a40;\n --primary: #007bff;\n --secondary: #6c757d;\n --success: #28a745;\n --info: #17a2b8;\n --warning: #ffc107;\n --danger: #dc3545;\n --light: #f8f9fa;\n --dark: #343a40;\n --breakpoint-xs: 0;\n --breakpoint-sm: 576px;\n --breakpoint-md: 768px;\n --breakpoint-lg: 992px;\n --breakpoint-xl: 1200px;\n --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml {\n font-family: sans-serif;\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\nbody {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #212529;\n text-align: left;\n background-color: #fff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\nhr {\n box-sizing: content-box;\n height: 0;\n overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n text-decoration: underline;\n text-decoration: underline dotted;\n cursor: help;\n border-bottom: 0;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 80%;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\na {\n color: #007bff;\n text-decoration: none;\n background-color: transparent;\n}\n\na:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n}\n\na:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n font-size: 1em;\n}\n\npre {\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n -ms-overflow-style: scrollbar;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg {\n vertical-align: middle;\n border-style: none;\n}\n\nsvg {\n overflow: hidden;\n vertical-align: middle;\n}\n\ntable {\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n color: #6c757d;\n text-align: left;\n caption-side: bottom;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nlabel {\n display: inline-block;\n margin-bottom: 0.5rem;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=\"button\"] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=\"button\"]:not(:disabled),\n[type=\"reset\"]:not(:disabled),\n[type=\"submit\"]:not(:disabled) {\n cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n box-sizing: border-box;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n max-width: 100%;\n padding: 0;\n margin-bottom: .5rem;\n font-size: 1.5rem;\n line-height: inherit;\n color: inherit;\n white-space: normal;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n[type=\"search\"] {\n outline-offset: -2px;\n -webkit-appearance: none;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\ntemplate {\n display: none;\n}\n\n[hidden] {\n display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1, .h1 {\n font-size: 2.5rem;\n}\n\nh2, .h2 {\n font-size: 2rem;\n}\n\nh3, .h3 {\n font-size: 1.75rem;\n}\n\nh4, .h4 {\n font-size: 1.5rem;\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: 6rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: 5.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: 4.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: 3.5rem;\n font-weight: 300;\n line-height: 1.2;\n}\n\nhr {\n margin-top: 1rem;\n margin-bottom: 1rem;\n border: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n font-size: 80%;\n font-weight: 400;\n}\n\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n\n.blockquote-footer {\n display: block;\n font-size: 80%;\n color: #6c757d;\n}\n\n.blockquote-footer::before {\n content: \"\\2014\\00A0\";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: #fff;\n border: 1px solid #dee2e6;\n border-radius: 0.25rem;\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 90%;\n color: #6c757d;\n}\n\ncode {\n font-size: 87.5%;\n color: #e83e8c;\n word-wrap: break-word;\n}\n\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 87.5%;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\n\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n}\n\npre {\n display: block;\n font-size: 87.5%;\n color: #212529;\n}\n\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl {\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container, .container-sm {\n max-width: 540px;\n }\n}\n\n@media (min-width: 768px) {\n .container, .container-sm, .container-md {\n max-width: 720px;\n }\n}\n\n@media (min-width: 992px) {\n .container, .container-sm, .container-md, .container-lg {\n max-width: 960px;\n }\n}\n\n@media (min-width: 1200px) {\n .container, .container-sm, .container-md, .container-lg, .container-xl {\n max-width: 1140px;\n }\n}\n\n.row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -15px;\n margin-left: -15px;\n}\n\n.no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n\n.no-gutters > .col,\n.no-gutters > [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n\n.col-1, .col-2, .col-3, .col-4, .col-5, .col-6, .col-7, .col-8, .col-9, .col-10, .col-11, .col-12, .col,\n.col-auto, .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm,\n.col-sm-auto, .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12, .col-md,\n.col-md-auto, .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg,\n.col-lg-auto, .col-xl-1, .col-xl-2, .col-xl-3, .col-xl-4, .col-xl-5, .col-xl-6, .col-xl-7, .col-xl-8, .col-xl-9, .col-xl-10, .col-xl-11, .col-xl-12, .col-xl,\n.col-xl-auto {\n position: relative;\n width: 100%;\n padding-right: 15px;\n padding-left: 15px;\n}\n\n.col {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n}\n\n.row-cols-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n}\n\n.col-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n}\n\n.col-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n}\n\n.col-3 {\n flex: 0 0 25%;\n max-width: 25%;\n}\n\n.col-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n}\n\n.col-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n}\n\n.col-6 {\n flex: 0 0 50%;\n max-width: 50%;\n}\n\n.col-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n}\n\n.col-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n}\n\n.col-9 {\n flex: 0 0 75%;\n max-width: 75%;\n}\n\n.col-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n}\n\n.col-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n}\n\n.col-12 {\n flex: 0 0 100%;\n max-width: 100%;\n}\n\n.order-first {\n order: -1;\n}\n\n.order-last {\n order: 13;\n}\n\n.order-0 {\n order: 0;\n}\n\n.order-1 {\n order: 1;\n}\n\n.order-2 {\n order: 2;\n}\n\n.order-3 {\n order: 3;\n}\n\n.order-4 {\n order: 4;\n}\n\n.order-5 {\n order: 5;\n}\n\n.order-6 {\n order: 6;\n}\n\n.order-7 {\n order: 7;\n}\n\n.order-8 {\n order: 8;\n}\n\n.order-9 {\n order: 9;\n}\n\n.order-10 {\n order: 10;\n}\n\n.order-11 {\n order: 11;\n}\n\n.order-12 {\n order: 12;\n}\n\n.offset-1 {\n margin-left: 8.333333%;\n}\n\n.offset-2 {\n margin-left: 16.666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.333333%;\n}\n\n.offset-5 {\n margin-left: 41.666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.333333%;\n}\n\n.offset-8 {\n margin-left: 66.666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.333333%;\n}\n\n.offset-11 {\n margin-left: 91.666667%;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-sm-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-sm-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-sm-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-sm-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-sm-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-sm-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-sm-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-sm-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-sm-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-sm-first {\n order: -1;\n }\n .order-sm-last {\n order: 13;\n }\n .order-sm-0 {\n order: 0;\n }\n .order-sm-1 {\n order: 1;\n }\n .order-sm-2 {\n order: 2;\n }\n .order-sm-3 {\n order: 3;\n }\n .order-sm-4 {\n order: 4;\n }\n .order-sm-5 {\n order: 5;\n }\n .order-sm-6 {\n order: 6;\n }\n .order-sm-7 {\n order: 7;\n }\n .order-sm-8 {\n order: 8;\n }\n .order-sm-9 {\n order: 9;\n }\n .order-sm-10 {\n order: 10;\n }\n .order-sm-11 {\n order: 11;\n }\n .order-sm-12 {\n order: 12;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.333333%;\n }\n .offset-sm-2 {\n margin-left: 16.666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.333333%;\n }\n .offset-sm-5 {\n margin-left: 41.666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.333333%;\n }\n .offset-sm-8 {\n margin-left: 66.666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.333333%;\n }\n .offset-sm-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 768px) {\n .col-md {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-md-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-md-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-md-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-md-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-md-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-md-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-md-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-md-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-md-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-md-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-md-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-md-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-md-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-md-first {\n order: -1;\n }\n .order-md-last {\n order: 13;\n }\n .order-md-0 {\n order: 0;\n }\n .order-md-1 {\n order: 1;\n }\n .order-md-2 {\n order: 2;\n }\n .order-md-3 {\n order: 3;\n }\n .order-md-4 {\n order: 4;\n }\n .order-md-5 {\n order: 5;\n }\n .order-md-6 {\n order: 6;\n }\n .order-md-7 {\n order: 7;\n }\n .order-md-8 {\n order: 8;\n }\n .order-md-9 {\n order: 9;\n }\n .order-md-10 {\n order: 10;\n }\n .order-md-11 {\n order: 11;\n }\n .order-md-12 {\n order: 12;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.333333%;\n }\n .offset-md-2 {\n margin-left: 16.666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.333333%;\n }\n .offset-md-5 {\n margin-left: 41.666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.333333%;\n }\n .offset-md-8 {\n margin-left: 66.666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.333333%;\n }\n .offset-md-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 992px) {\n .col-lg {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-lg-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-lg-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-lg-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-lg-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-lg-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-lg-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-lg-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-lg-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-lg-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-lg-first {\n order: -1;\n }\n .order-lg-last {\n order: 13;\n }\n .order-lg-0 {\n order: 0;\n }\n .order-lg-1 {\n order: 1;\n }\n .order-lg-2 {\n order: 2;\n }\n .order-lg-3 {\n order: 3;\n }\n .order-lg-4 {\n order: 4;\n }\n .order-lg-5 {\n order: 5;\n }\n .order-lg-6 {\n order: 6;\n }\n .order-lg-7 {\n order: 7;\n }\n .order-lg-8 {\n order: 8;\n }\n .order-lg-9 {\n order: 9;\n }\n .order-lg-10 {\n order: 10;\n }\n .order-lg-11 {\n order: 11;\n }\n .order-lg-12 {\n order: 12;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.333333%;\n }\n .offset-lg-2 {\n margin-left: 16.666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.333333%;\n }\n .offset-lg-5 {\n margin-left: 41.666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.333333%;\n }\n .offset-lg-8 {\n margin-left: 66.666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.333333%;\n }\n .offset-lg-11 {\n margin-left: 91.666667%;\n }\n}\n\n@media (min-width: 1200px) {\n .col-xl {\n flex-basis: 0;\n flex-grow: 1;\n max-width: 100%;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 20%;\n max-width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n max-width: 100%;\n }\n .col-xl-1 {\n flex: 0 0 8.333333%;\n max-width: 8.333333%;\n }\n .col-xl-2 {\n flex: 0 0 16.666667%;\n max-width: 16.666667%;\n }\n .col-xl-3 {\n flex: 0 0 25%;\n max-width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 33.333333%;\n max-width: 33.333333%;\n }\n .col-xl-5 {\n flex: 0 0 41.666667%;\n max-width: 41.666667%;\n }\n .col-xl-6 {\n flex: 0 0 50%;\n max-width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 58.333333%;\n max-width: 58.333333%;\n }\n .col-xl-8 {\n flex: 0 0 66.666667%;\n max-width: 66.666667%;\n }\n .col-xl-9 {\n flex: 0 0 75%;\n max-width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 83.333333%;\n max-width: 83.333333%;\n }\n .col-xl-11 {\n flex: 0 0 91.666667%;\n max-width: 91.666667%;\n }\n .col-xl-12 {\n flex: 0 0 100%;\n max-width: 100%;\n }\n .order-xl-first {\n order: -1;\n }\n .order-xl-last {\n order: 13;\n }\n .order-xl-0 {\n order: 0;\n }\n .order-xl-1 {\n order: 1;\n }\n .order-xl-2 {\n order: 2;\n }\n .order-xl-3 {\n order: 3;\n }\n .order-xl-4 {\n order: 4;\n }\n .order-xl-5 {\n order: 5;\n }\n .order-xl-6 {\n order: 6;\n }\n .order-xl-7 {\n order: 7;\n }\n .order-xl-8 {\n order: 8;\n }\n .order-xl-9 {\n order: 9;\n }\n .order-xl-10 {\n order: 10;\n }\n .order-xl-11 {\n order: 11;\n }\n .order-xl-12 {\n order: 12;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.333333%;\n }\n .offset-xl-2 {\n margin-left: 16.666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.333333%;\n }\n .offset-xl-5 {\n margin-left: 41.666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.333333%;\n }\n .offset-xl-8 {\n margin-left: 66.666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.333333%;\n }\n .offset-xl-11 {\n margin-left: 91.666667%;\n }\n}\n\n.table {\n width: 100%;\n margin-bottom: 1rem;\n color: #212529;\n}\n\n.table th,\n.table td {\n padding: 0.75rem;\n vertical-align: top;\n border-top: 1px solid #dee2e6;\n}\n\n.table thead th {\n vertical-align: bottom;\n border-bottom: 2px solid #dee2e6;\n}\n\n.table tbody + tbody {\n border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n padding: 0.3rem;\n}\n\n.table-bordered {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered th,\n.table-bordered td {\n border: 1px solid #dee2e6;\n}\n\n.table-bordered thead th,\n.table-bordered thead td {\n border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n color: #212529;\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n background-color: #b8daff;\n}\n\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n background-color: #9fcdff;\n}\n\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n background-color: #d6d8db;\n}\n\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n background-color: #c8cbcf;\n}\n\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n background-color: #c3e6cb;\n}\n\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n background-color: #b1dfbb;\n}\n\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n background-color: #bee5eb;\n}\n\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n background-color: #abdde5;\n}\n\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n background-color: #ffeeba;\n}\n\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n background-color: #ffe8a1;\n}\n\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n background-color: #f5c6cb;\n}\n\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n background-color: #f1b0b7;\n}\n\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n background-color: #fdfdfe;\n}\n\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n background-color: #ececf6;\n}\n\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n background-color: #c6c8ca;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n background-color: #b9bbbe;\n}\n\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n color: #fff;\n background-color: #343a40;\n border-color: #454d55;\n}\n\n.table .thead-light th {\n color: #495057;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.table-dark {\n color: #fff;\n background-color: #343a40;\n}\n\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n border-color: #454d55;\n}\n\n.table-dark.table-bordered {\n border: 0;\n}\n\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n background-color: rgba(255, 255, 255, 0.05);\n}\n\n.table-dark.table-hover tbody tr:hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-sm > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 767.98px) {\n .table-responsive-md {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-md > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-lg > .table-bordered {\n border: 0;\n }\n}\n\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n .table-responsive-xl > .table-bordered {\n border: 0;\n }\n}\n\n.table-responsive {\n display: block;\n width: 100%;\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n.table-responsive > .table-bordered {\n border: 0;\n}\n\n.form-control {\n display: block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n\n.form-control:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.form-control:focus {\n color: #495057;\n background-color: #fff;\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.form-control::placeholder {\n color: #6c757d;\n opacity: 1;\n}\n\n.form-control:disabled, .form-control[readonly] {\n background-color: #e9ecef;\n opacity: 1;\n}\n\ninput[type=\"date\"].form-control,\ninput[type=\"time\"].form-control,\ninput[type=\"datetime-local\"].form-control,\ninput[type=\"month\"].form-control {\n appearance: none;\n}\n\nselect.form-control:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n display: block;\n width: 100%;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + 1px);\n padding-bottom: calc(0.375rem + 1px);\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + 1px);\n padding-bottom: calc(0.5rem + 1px);\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + 1px);\n padding-bottom: calc(0.25rem + 1px);\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n font-size: 1rem;\n line-height: 1.5;\n color: #212529;\n background-color: transparent;\n border: solid transparent;\n border-width: 1px 0;\n}\n\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.form-control-lg {\n height: calc(1.5em + 1rem + 2px);\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n height: auto;\n}\n\ntextarea.form-control {\n height: auto;\n}\n\n.form-group {\n margin-bottom: 1rem;\n}\n\n.form-text {\n display: block;\n margin-top: 0.25rem;\n}\n\n.form-row {\n display: flex;\n flex-wrap: wrap;\n margin-right: -5px;\n margin-left: -5px;\n}\n\n.form-row > .col,\n.form-row > [class*=\"col-\"] {\n padding-right: 5px;\n padding-left: 5px;\n}\n\n.form-check {\n position: relative;\n display: block;\n padding-left: 1.25rem;\n}\n\n.form-check-input {\n position: absolute;\n margin-top: 0.3rem;\n margin-left: -1.25rem;\n}\n\n.form-check-input[disabled] ~ .form-check-label,\n.form-check-input:disabled ~ .form-check-label {\n color: #6c757d;\n}\n\n.form-check-label {\n margin-bottom: 0;\n}\n\n.form-check-inline {\n display: inline-flex;\n align-items: center;\n padding-left: 0;\n margin-right: 0.75rem;\n}\n\n.form-check-inline .form-check-input {\n position: static;\n margin-top: 0;\n margin-right: 0.3125rem;\n margin-left: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #28a745;\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(40, 167, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.form-row > .col > .valid-tooltip,\n.form-row > [class*=\"col-\"] > .valid-tooltip {\n left: 5px;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: #28a745;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n border-color: #28a745;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat, #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;\n}\n\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\n}\n\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n color: #28a745;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n border-color: #34ce57;\n background-color: #34ce57;\n}\n\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n border-color: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 80%;\n color: #dc3545;\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: .1rem;\n font-size: 0.875rem;\n line-height: 1.5;\n color: #fff;\n background-color: rgba(220, 53, 69, 0.9);\n border-radius: 0.25rem;\n}\n\n.form-row > .col > .invalid-tooltip,\n.form-row > [class*=\"col-\"] > .invalid-tooltip {\n left: 5px;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: #dc3545;\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n border-color: #dc3545;\n padding-right: calc(0.75em + 2.3125rem);\n background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat, #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem) no-repeat;\n}\n\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: #dc3545;\n}\n\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n border-color: #e4606d;\n background-color: #e4606d;\n}\n\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n border-color: #dc3545;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n display: flex;\n flex-flow: row wrap;\n align-items: center;\n}\n\n.form-inline .form-check {\n width: 100%;\n}\n\n@media (min-width: 576px) {\n .form-inline label {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: 0;\n }\n .form-inline .form-group {\n display: flex;\n flex: 0 0 auto;\n flex-flow: row wrap;\n align-items: center;\n margin-bottom: 0;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-plaintext {\n display: inline-block;\n }\n .form-inline .input-group,\n .form-inline .custom-select {\n width: auto;\n }\n .form-inline .form-check {\n display: flex;\n align-items: center;\n justify-content: center;\n width: auto;\n padding-left: 0;\n }\n .form-inline .form-check-input {\n position: relative;\n flex-shrink: 0;\n margin-top: 0;\n margin-right: 0.25rem;\n margin-left: 0;\n }\n .form-inline .custom-control {\n align-items: center;\n justify-content: center;\n }\n .form-inline .custom-control-label {\n margin-bottom: 0;\n }\n}\n\n.btn {\n display: inline-block;\n font-weight: 400;\n color: #212529;\n text-align: center;\n vertical-align: middle;\n user-select: none;\n background-color: transparent;\n border: 1px solid transparent;\n padding: 0.375rem 0.75rem;\n font-size: 1rem;\n line-height: 1.5;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n\n.btn:hover {\n color: #212529;\n text-decoration: none;\n}\n\n.btn:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.btn.disabled, .btn:disabled {\n opacity: 0.65;\n}\n\n.btn:not(:disabled):not(.disabled) {\n cursor: pointer;\n}\n\na.btn.disabled,\nfieldset:disabled a.btn {\n pointer-events: none;\n}\n\n.btn-primary {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:hover {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n}\n\n.btn-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #0069d9;\n border-color: #0062cc;\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-primary.disabled, .btn-primary:disabled {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,\n.show > .btn-primary.dropdown-toggle {\n color: #fff;\n background-color: #0062cc;\n border-color: #005cbf;\n}\n\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:hover {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n}\n\n.btn-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-secondary.disabled, .btn-secondary:disabled {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-secondary.dropdown-toggle {\n color: #fff;\n background-color: #545b62;\n border-color: #4e555b;\n}\n\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success.disabled, .btn-success:disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info.disabled, .btn-info:disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning.disabled, .btn-warning:disabled {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:hover {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n}\n\n.btn-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-danger.disabled, .btn-danger:disabled {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,\n.show > .btn-danger.dropdown-toggle {\n color: #fff;\n background-color: #bd2130;\n border-color: #b21f2d;\n}\n\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light.disabled, .btn-light:disabled {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:hover {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n}\n\n.btn-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-dark.disabled, .btn-dark:disabled {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,\n.show > .btn-dark.dropdown-toggle {\n color: #fff;\n background-color: #1d2124;\n border-color: #171a1d;\n}\n\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:hover {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n color: #007bff;\n background-color: transparent;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-primary.dropdown-toggle {\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:hover {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n color: #6c757d;\n background-color: transparent;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,\n.show > .btn-outline-secondary.dropdown-toggle {\n color: #fff;\n background-color: #6c757d;\n border-color: #6c757d;\n}\n\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,\n.show > .btn-outline-success.dropdown-toggle {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n color: #17a2b8;\n background-color: transparent;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,\n.show > .btn-outline-info.dropdown-toggle {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:hover {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n color: #ffc107;\n background-color: transparent;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,\n.show > .btn-outline-warning.dropdown-toggle {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:hover {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n color: #dc3545;\n background-color: transparent;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,\n.show > .btn-outline-danger.dropdown-toggle {\n color: #fff;\n background-color: #dc3545;\n border-color: #dc3545;\n}\n\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:hover {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n color: #f8f9fa;\n background-color: transparent;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,\n.show > .btn-outline-light.dropdown-toggle {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:hover {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n color: #343a40;\n background-color: transparent;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,\n.show > .btn-outline-dark.dropdown-toggle {\n color: #fff;\n background-color: #343a40;\n border-color: #343a40;\n}\n\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,\n.show > .btn-outline-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n font-weight: 400;\n color: #007bff;\n text-decoration: none;\n}\n\n.btn-link:hover {\n color: #0056b3;\n text-decoration: underline;\n}\n\n.btn-link:focus, .btn-link.focus {\n text-decoration: underline;\n}\n\n.btn-link:disabled, .btn-link.disabled {\n color: #6c757d;\n pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n.btn-block + .btn-block {\n margin-top: 0.5rem;\n}\n\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 10rem;\n padding: 0.5rem 0;\n margin: 0.125rem 0 0;\n font-size: 1rem;\n color: #212529;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 768px) {\n .dropdown-menu-md-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 992px) {\n .dropdown-menu-lg-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-right {\n right: 0;\n left: auto;\n }\n}\n\n@media (min-width: 1200px) {\n .dropdown-menu-xl-left {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-right {\n right: 0;\n left: auto;\n }\n}\n\n.dropup .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: 0.125rem;\n}\n\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: 0.125rem;\n}\n\n.dropright .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n\n.dropright .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropright .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: 0.125rem;\n}\n\n.dropleft .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n\n.dropleft .dropdown-toggle::after {\n display: none;\n}\n\n.dropleft .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n\n.dropleft .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=\"top\"], .dropdown-menu[x-placement^=\"right\"], .dropdown-menu[x-placement^=\"bottom\"], .dropdown-menu[x-placement^=\"left\"] {\n right: auto;\n bottom: auto;\n}\n\n.dropdown-divider {\n height: 0;\n margin: 0.5rem 0;\n overflow: hidden;\n border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: 0.25rem 1.5rem;\n clear: both;\n font-weight: 400;\n color: #212529;\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n}\n\n.dropdown-item:hover, .dropdown-item:focus {\n color: #16181b;\n text-decoration: none;\n background-color: #e9ecef;\n}\n\n.dropdown-item.active, .dropdown-item:active {\n color: #fff;\n text-decoration: none;\n background-color: #007bff;\n}\n\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: #adb5bd;\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: 0.5rem 1.5rem;\n margin-bottom: 0;\n font-size: 0.875rem;\n color: #6c757d;\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: 0.25rem 1.5rem;\n color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n z-index: 1;\n}\n\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n margin-left: -1px;\n}\n\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.5625rem;\n padding-left: 0.5625rem;\n}\n\n.dropdown-toggle-split::after,\n.dropup .dropdown-toggle-split::after,\n.dropright .dropdown-toggle-split::after {\n margin-left: 0;\n}\n\n.dropleft .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: -1px;\n}\n\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n margin-bottom: 0;\n}\n\n.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n margin-bottom: 0;\n}\n\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n margin-left: -1px;\n}\n\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n z-index: 3;\n}\n\n.input-group > .custom-file .custom-file-input:focus {\n z-index: 4;\n}\n\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group > .custom-file {\n display: flex;\n align-items: center;\n}\n\n.input-group > .custom-file:not(:last-child) .custom-file-label,\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.input-group:not(.has-validation) > .form-control:not(:last-child),\n.input-group:not(.has-validation) > .custom-select:not(:last-child),\n.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group.has-validation > .form-control:nth-last-child(n + 3),\n.input-group.has-validation > .custom-select:nth-last-child(n + 3),\n.input-group.has-validation > .custom-file:nth-last-child(n + 3) .custom-file-label::after {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n display: flex;\n}\n\n.input-group-prepend .btn,\n.input-group-append .btn {\n position: relative;\n z-index: 2;\n}\n\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n z-index: 3;\n}\n\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n margin-left: -1px;\n}\n\n.input-group-prepend {\n margin-right: -1px;\n}\n\n.input-group-append {\n margin-left: -1px;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n text-align: center;\n white-space: nowrap;\n background-color: #e9ecef;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.input-group-text input[type=\"radio\"],\n.input-group-text input[type=\"checkbox\"] {\n margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n line-height: 1.5;\n border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,\n.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,\n.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.custom-control {\n position: relative;\n z-index: 1;\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5rem;\n color-adjust: exact;\n}\n\n.custom-control-inline {\n display: inline-flex;\n margin-right: 1rem;\n}\n\n.custom-control-input {\n position: absolute;\n left: 0;\n z-index: -1;\n width: 1rem;\n height: 1.25rem;\n opacity: 0;\n}\n\n.custom-control-input:checked ~ .custom-control-label::before {\n color: #fff;\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-control-input:focus ~ .custom-control-label::before {\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n border-color: #80bdff;\n}\n\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n color: #fff;\n background-color: #b3d7ff;\n border-color: #b3d7ff;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n color: #6c757d;\n}\n\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n background-color: #e9ecef;\n}\n\n.custom-control-label {\n position: relative;\n margin-bottom: 0;\n vertical-align: top;\n}\n\n.custom-control-label::before {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n pointer-events: none;\n content: \"\";\n background-color: #fff;\n border: #adb5bd solid 1px;\n}\n\n.custom-control-label::after {\n position: absolute;\n top: 0.25rem;\n left: -1.5rem;\n display: block;\n width: 1rem;\n height: 1rem;\n content: \"\";\n background: 50% / 50% 50% no-repeat;\n}\n\n.custom-checkbox .custom-control-label::before {\n border-radius: 0.25rem;\n}\n\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n border-color: #007bff;\n background-color: #007bff;\n}\n\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n border-radius: 50%;\n}\n\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n padding-left: 2.25rem;\n}\n\n.custom-switch .custom-control-label::before {\n left: -2.25rem;\n width: 1.75rem;\n pointer-events: all;\n border-radius: 0.5rem;\n}\n\n.custom-switch .custom-control-label::after {\n top: calc(0.25rem + 2px);\n left: calc(-2.25rem + 2px);\n width: calc(1rem - 4px);\n height: calc(1rem - 4px);\n background-color: #adb5bd;\n border-radius: 0.5rem;\n transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-switch .custom-control-label::after {\n transition: none;\n }\n}\n\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n background-color: #fff;\n transform: translateX(0.75rem);\n}\n\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n vertical-align: middle;\n background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") right 0.75rem center/8px 10px no-repeat;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n appearance: none;\n}\n\n.custom-select:focus {\n border-color: #80bdff;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-select:focus::-ms-value {\n color: #495057;\n background-color: #fff;\n}\n\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n height: auto;\n padding-right: 0.75rem;\n background-image: none;\n}\n\n.custom-select:disabled {\n color: #6c757d;\n background-color: #e9ecef;\n}\n\n.custom-select::-ms-expand {\n display: none;\n}\n\n.custom-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n height: calc(1.5em + 0.5rem + 2px);\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n}\n\n.custom-select-lg {\n height: calc(1.5em + 1rem + 2px);\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n}\n\n.custom-file {\n position: relative;\n display: inline-block;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin-bottom: 0;\n}\n\n.custom-file-input {\n position: relative;\n z-index: 2;\n width: 100%;\n height: calc(1.5em + 0.75rem + 2px);\n margin: 0;\n overflow: hidden;\n opacity: 0;\n}\n\n.custom-file-input:focus ~ .custom-file-label {\n border-color: #80bdff;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-file-input[disabled] ~ .custom-file-label,\n.custom-file-input:disabled ~ .custom-file-label {\n background-color: #e9ecef;\n}\n\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n content: \"Browse\";\n}\n\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n content: attr(data-browse);\n}\n\n.custom-file-label {\n position: absolute;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1;\n height: calc(1.5em + 0.75rem + 2px);\n padding: 0.375rem 0.75rem;\n overflow: hidden;\n font-weight: 400;\n line-height: 1.5;\n color: #495057;\n background-color: #fff;\n border: 1px solid #ced4da;\n border-radius: 0.25rem;\n}\n\n.custom-file-label::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 3;\n display: block;\n height: calc(1.5em + 0.75rem);\n padding: 0.375rem 0.75rem;\n line-height: 1.5;\n color: #495057;\n content: \"Browse\";\n background-color: #e9ecef;\n border-left: inherit;\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n width: 100%;\n height: 1.4rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n\n.custom-range:focus {\n outline: 0;\n}\n\n.custom-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range:focus::-ms-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.custom-range::-moz-focus-outer {\n border: 0;\n}\n\n.custom-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n\n.custom-range::-webkit-slider-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-moz-range-thumb {\n transition: none;\n }\n}\n\n.custom-range::-moz-range-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: #dee2e6;\n border-color: transparent;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: 0;\n margin-right: 0.2rem;\n margin-left: 0.2rem;\n background-color: #007bff;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n appearance: none;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-range::-ms-thumb {\n transition: none;\n }\n}\n\n.custom-range::-ms-thumb:active {\n background-color: #b3d7ff;\n}\n\n.custom-range::-ms-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: transparent;\n border-color: transparent;\n border-width: 0.5rem;\n}\n\n.custom-range::-ms-fill-lower {\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range::-ms-fill-upper {\n margin-right: 15px;\n background-color: #dee2e6;\n border-radius: 1rem;\n}\n\n.custom-range:disabled::-webkit-slider-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-webkit-slider-runnable-track {\n cursor: default;\n}\n\n.custom-range:disabled::-moz-range-thumb {\n background-color: #adb5bd;\n}\n\n.custom-range:disabled::-moz-range-track {\n cursor: default;\n}\n\n.custom-range:disabled::-ms-thumb {\n background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .custom-control-label::before,\n .custom-file-label,\n .custom-select {\n transition: none;\n }\n}\n\n.nav {\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: 0.5rem 1rem;\n}\n\n.nav-link:hover, .nav-link:focus {\n text-decoration: none;\n}\n\n.nav-link.disabled {\n color: #6c757d;\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n border-bottom: 1px solid #dee2e6;\n}\n\n.nav-tabs .nav-link {\n margin-bottom: -1px;\n border: 1px solid transparent;\n border-top-left-radius: 0.25rem;\n border-top-right-radius: 0.25rem;\n}\n\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n border-color: #e9ecef #e9ecef #dee2e6;\n}\n\n.nav-tabs .nav-link.disabled {\n color: #6c757d;\n background-color: transparent;\n border-color: transparent;\n}\n\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: #495057;\n background-color: #fff;\n border-color: #dee2e6 #dee2e6 #fff;\n}\n\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n border-radius: 0.25rem;\n}\n\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: #fff;\n background-color: #007bff;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: 0.5rem 1rem;\n}\n\n.navbar .container,\n.navbar .container-fluid, .navbar .container-sm, .navbar .container-md, .navbar .container-lg, .navbar .container-xl {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n}\n\n.navbar-brand {\n display: inline-block;\n padding-top: 0.3125rem;\n padding-bottom: 0.3125rem;\n margin-right: 1rem;\n font-size: 1.25rem;\n line-height: inherit;\n white-space: nowrap;\n}\n\n.navbar-brand:hover, .navbar-brand:focus {\n text-decoration: none;\n}\n\n.navbar-nav {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.navbar-nav .nav-link {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-nav .dropdown-menu {\n position: static;\n float: none;\n}\n\n.navbar-text {\n display: inline-block;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: 0.25rem 0.75rem;\n font-size: 1.25rem;\n line-height: 1;\n background-color: transparent;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.navbar-toggler:hover, .navbar-toggler:focus {\n text-decoration: none;\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n content: \"\";\n background: 50% / 100% 100% no-repeat;\n}\n\n.navbar-nav-scroll {\n max-height: 75vh;\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-sm > .container,\n .navbar-expand-sm > .container-fluid, .navbar-expand-sm > .container-sm, .navbar-expand-sm > .container-md, .navbar-expand-sm > .container-lg, .navbar-expand-sm > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 767.98px) {\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-md > .container,\n .navbar-expand-md > .container-fluid, .navbar-expand-md > .container-sm, .navbar-expand-md > .container-md, .navbar-expand-md > .container-lg, .navbar-expand-md > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 991.98px) {\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-lg > .container,\n .navbar-expand-lg > .container-fluid, .navbar-expand-lg > .container-sm, .navbar-expand-lg > .container-md, .navbar-expand-lg > .container-lg, .navbar-expand-lg > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n}\n\n@media (max-width: 1199.98px) {\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-flow: row nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n }\n .navbar-expand-xl > .container,\n .navbar-expand-xl > .container-fluid, .navbar-expand-xl > .container-sm, .navbar-expand-xl > .container-md, .navbar-expand-xl > .container-lg, .navbar-expand-xl > .container-xl {\n flex-wrap: nowrap;\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n}\n\n.navbar-expand {\n flex-flow: row nowrap;\n justify-content: flex-start;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n padding-right: 0;\n padding-left: 0;\n}\n\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n\n.navbar-expand .navbar-nav .nav-link {\n padding-right: 0.5rem;\n padding-left: 0.5rem;\n}\n\n.navbar-expand > .container,\n.navbar-expand > .container-fluid, .navbar-expand > .container-sm, .navbar-expand > .container-md, .navbar-expand > .container-lg, .navbar-expand > .container-xl {\n flex-wrap: nowrap;\n}\n\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n\n.navbar-expand .navbar-toggler {\n display: none;\n}\n\n.navbar-light .navbar-brand {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-nav .nav-link {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n color: rgba(0, 0, 0, 0.7);\n}\n\n.navbar-light .navbar-nav .nav-link.disabled {\n color: rgba(0, 0, 0, 0.3);\n}\n\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-toggler {\n color: rgba(0, 0, 0, 0.5);\n border-color: rgba(0, 0, 0, 0.1);\n}\n\n.navbar-light .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-light .navbar-text {\n color: rgba(0, 0, 0, 0.5);\n}\n\n.navbar-light .navbar-text a {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n color: #fff;\n}\n\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n color: #fff;\n}\n\n.navbar-dark .navbar-nav .nav-link {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n color: rgba(255, 255, 255, 0.75);\n}\n\n.navbar-dark .navbar-nav .nav-link.disabled {\n color: rgba(255, 255, 255, 0.25);\n}\n\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n color: #fff;\n}\n\n.navbar-dark .navbar-toggler {\n color: rgba(255, 255, 255, 0.5);\n border-color: rgba(255, 255, 255, 0.1);\n}\n\n.navbar-dark .navbar-toggler-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.navbar-dark .navbar-text {\n color: rgba(255, 255, 255, 0.5);\n}\n\n.navbar-dark .navbar-text a {\n color: #fff;\n}\n\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n color: #fff;\n}\n\n.card {\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: border-box;\n border: 1px solid rgba(0, 0, 0, 0.125);\n border-radius: 0.25rem;\n}\n\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n min-height: 1px;\n padding: 1.25rem;\n}\n\n.card-title {\n margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n margin-top: -0.375rem;\n margin-bottom: 0;\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n\n.card-link + .card-link {\n margin-left: 1.25rem;\n}\n\n.card-header {\n padding: 0.75rem 1.25rem;\n margin-bottom: 0;\n background-color: rgba(0, 0, 0, 0.03);\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-header:first-child {\n border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n\n.card-footer {\n padding: 0.75rem 1.25rem;\n background-color: rgba(0, 0, 0, 0.03);\n border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.card-footer:last-child {\n border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n margin-right: -0.625rem;\n margin-bottom: -0.75rem;\n margin-left: -0.625rem;\n border-bottom: 0;\n}\n\n.card-header-pills {\n margin-right: -0.625rem;\n margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: 1.25rem;\n border-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n flex-shrink: 0;\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: calc(0.25rem - 1px);\n border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-deck {\n display: flex;\n flex-flow: row wrap;\n margin-right: -15px;\n margin-left: -15px;\n }\n .card-deck .card {\n flex: 1 0 0%;\n margin-right: 15px;\n margin-bottom: 0;\n margin-left: 15px;\n }\n}\n\n.card-group > .card {\n margin-bottom: 15px;\n}\n\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.card-columns .card {\n margin-bottom: 0.75rem;\n}\n\n@media (min-width: 576px) {\n .card-columns {\n column-count: 3;\n column-gap: 1.25rem;\n orphans: 1;\n widows: 1;\n }\n .card-columns .card {\n display: inline-block;\n width: 100%;\n }\n}\n\n.accordion {\n overflow-anchor: none;\n}\n\n.accordion > .card {\n overflow: hidden;\n}\n\n.accordion > .card:not(:last-of-type) {\n border-bottom: 0;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.accordion > .card:not(:first-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.accordion > .card > .card-header {\n border-radius: 0;\n margin-bottom: -1px;\n}\n\n.breadcrumb {\n display: flex;\n flex-wrap: wrap;\n padding: 0.75rem 1rem;\n margin-bottom: 1rem;\n list-style: none;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: 0.5rem;\n}\n\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: 0.5rem;\n color: #6c757d;\n content: \"/\";\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: underline;\n}\n\n.breadcrumb-item + .breadcrumb-item:hover::before {\n text-decoration: none;\n}\n\n.breadcrumb-item.active {\n color: #6c757d;\n}\n\n.pagination {\n display: flex;\n padding-left: 0;\n list-style: none;\n border-radius: 0.25rem;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: 0.5rem 0.75rem;\n margin-left: -1px;\n line-height: 1.25;\n color: #007bff;\n background-color: #fff;\n border: 1px solid #dee2e6;\n}\n\n.page-link:hover {\n z-index: 2;\n color: #0056b3;\n text-decoration: none;\n background-color: #e9ecef;\n border-color: #dee2e6;\n}\n\n.page-link:focus {\n z-index: 3;\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n margin-left: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.page-item:last-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n}\n\n.page-item.active .page-link {\n z-index: 3;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.page-item.disabled .page-link {\n color: #6c757d;\n pointer-events: none;\n cursor: auto;\n background-color: #fff;\n border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n padding: 0.75rem 1.5rem;\n font-size: 1.25rem;\n line-height: 1.5;\n}\n\n.pagination-lg .page-item:first-child .page-link {\n border-top-left-radius: 0.3rem;\n border-bottom-left-radius: 0.3rem;\n}\n\n.pagination-lg .page-item:last-child .page-link {\n border-top-right-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n line-height: 1.5;\n}\n\n.pagination-sm .page-item:first-child .page-link {\n border-top-left-radius: 0.2rem;\n border-bottom-left-radius: 0.2rem;\n}\n\n.pagination-sm .page-item:last-child .page-link {\n border-top-right-radius: 0.2rem;\n border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n display: inline-block;\n padding: 0.25em 0.4em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25rem;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .badge {\n transition: none;\n }\n}\n\na.badge:hover, a.badge:focus {\n text-decoration: none;\n}\n\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.badge-pill {\n padding-right: 0.6em;\n padding-left: 0.6em;\n border-radius: 10rem;\n}\n\n.badge-primary {\n color: #fff;\n background-color: #007bff;\n}\n\na.badge-primary:hover, a.badge-primary:focus {\n color: #fff;\n background-color: #0062cc;\n}\n\na.badge-primary:focus, a.badge-primary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n color: #fff;\n background-color: #6c757d;\n}\n\na.badge-secondary:hover, a.badge-secondary:focus {\n color: #fff;\n background-color: #545b62;\n}\n\na.badge-secondary:focus, a.badge-secondary.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n color: #fff;\n background-color: #28a745;\n}\n\na.badge-success:hover, a.badge-success:focus {\n color: #fff;\n background-color: #1e7e34;\n}\n\na.badge-success:focus, a.badge-success.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n color: #fff;\n background-color: #17a2b8;\n}\n\na.badge-info:hover, a.badge-info:focus {\n color: #fff;\n background-color: #117a8b;\n}\n\na.badge-info:focus, a.badge-info.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n color: #212529;\n background-color: #ffc107;\n}\n\na.badge-warning:hover, a.badge-warning:focus {\n color: #212529;\n background-color: #d39e00;\n}\n\na.badge-warning:focus, a.badge-warning.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n color: #fff;\n background-color: #dc3545;\n}\n\na.badge-danger:hover, a.badge-danger:focus {\n color: #fff;\n background-color: #bd2130;\n}\n\na.badge-danger:focus, a.badge-danger.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n color: #212529;\n background-color: #f8f9fa;\n}\n\na.badge-light:hover, a.badge-light:focus {\n color: #212529;\n background-color: #dae0e5;\n}\n\na.badge-light:focus, a.badge-light.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n color: #fff;\n background-color: #343a40;\n}\n\na.badge-dark:hover, a.badge-dark:focus {\n color: #fff;\n background-color: #1d2124;\n}\n\na.badge-dark:focus, a.badge-dark.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n padding: 2rem 1rem;\n margin-bottom: 2rem;\n background-color: #e9ecef;\n border-radius: 0.3rem;\n}\n\n@media (min-width: 576px) {\n .jumbotron {\n padding: 4rem 2rem;\n }\n}\n\n.jumbotron-fluid {\n padding-right: 0;\n padding-left: 0;\n border-radius: 0;\n}\n\n.alert {\n position: relative;\n padding: 0.75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 700;\n}\n\n.alert-dismissible {\n padding-right: 4rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 0.75rem 1.25rem;\n color: inherit;\n}\n\n.alert-primary {\n color: #004085;\n background-color: #cce5ff;\n border-color: #b8daff;\n}\n\n.alert-primary hr {\n border-top-color: #9fcdff;\n}\n\n.alert-primary .alert-link {\n color: #002752;\n}\n\n.alert-secondary {\n color: #383d41;\n background-color: #e2e3e5;\n border-color: #d6d8db;\n}\n\n.alert-secondary hr {\n border-top-color: #c8cbcf;\n}\n\n.alert-secondary .alert-link {\n color: #202326;\n}\n\n.alert-success {\n color: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success hr {\n border-top-color: #b1dfbb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info hr {\n border-top-color: #abdde5;\n}\n\n.alert-info .alert-link {\n color: #062c33;\n}\n\n.alert-warning {\n color: #856404;\n background-color: #fff3cd;\n border-color: #ffeeba;\n}\n\n.alert-warning hr {\n border-top-color: #ffe8a1;\n}\n\n.alert-warning .alert-link {\n color: #533f03;\n}\n\n.alert-danger {\n color: #721c24;\n background-color: #f8d7da;\n border-color: #f5c6cb;\n}\n\n.alert-danger hr {\n border-top-color: #f1b0b7;\n}\n\n.alert-danger .alert-link {\n color: #491217;\n}\n\n.alert-light {\n color: #818182;\n background-color: #fefefe;\n border-color: #fdfdfe;\n}\n\n.alert-light hr {\n border-top-color: #ececf6;\n}\n\n.alert-light .alert-link {\n color: #686868;\n}\n\n.alert-dark {\n color: #1b1e21;\n background-color: #d6d8d9;\n border-color: #c6c8ca;\n}\n\n.alert-dark hr {\n border-top-color: #b9bbbe;\n}\n\n.alert-dark .alert-link {\n color: #040505;\n}\n\n@keyframes progress-bar-stripes {\n from {\n background-position: 1rem 0;\n }\n to {\n background-position: 0 0;\n }\n}\n\n.progress {\n display: flex;\n height: 1rem;\n overflow: hidden;\n line-height: 0;\n font-size: 0.75rem;\n background-color: #e9ecef;\n border-radius: 0.25rem;\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n background-color: #007bff;\n transition: width 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.media {\n display: flex;\n align-items: flex-start;\n}\n\n.media-body {\n flex: 1;\n}\n\n.list-group {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: 0.25rem;\n}\n\n.list-group-item-action {\n width: 100%;\n color: #495057;\n text-align: inherit;\n}\n\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: #495057;\n text-decoration: none;\n background-color: #f8f9fa;\n}\n\n.list-group-item-action:active {\n color: #212529;\n background-color: #e9ecef;\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 0.75rem 1.25rem;\n background-color: #fff;\n border: 1px solid rgba(0, 0, 0, 0.125);\n}\n\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n\n.list-group-item.disabled, .list-group-item:disabled {\n color: #6c757d;\n pointer-events: none;\n background-color: #fff;\n}\n\n.list-group-item.active {\n z-index: 2;\n color: #fff;\n background-color: #007bff;\n border-color: #007bff;\n}\n\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n\n.list-group-item + .list-group-item.active {\n margin-top: -1px;\n border-top-width: 1px;\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n\n.list-group-horizontal > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n}\n\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n}\n\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child {\n border-bottom-left-radius: 0.25rem;\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child {\n border-top-right-radius: 0.25rem;\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: 1px;\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: -1px;\n border-left-width: 1px;\n }\n}\n\n.list-group-flush {\n border-radius: 0;\n}\n\n.list-group-flush > .list-group-item {\n border-width: 0 0 1px;\n}\n\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n color: #004085;\n background-color: #b8daff;\n}\n\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n color: #004085;\n background-color: #9fcdff;\n}\n\n.list-group-item-primary.list-group-item-action.active {\n color: #fff;\n background-color: #004085;\n border-color: #004085;\n}\n\n.list-group-item-secondary {\n color: #383d41;\n background-color: #d6d8db;\n}\n\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n color: #383d41;\n background-color: #c8cbcf;\n}\n\n.list-group-item-secondary.list-group-item-action.active {\n color: #fff;\n background-color: #383d41;\n border-color: #383d41;\n}\n\n.list-group-item-success {\n color: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\n}\n\n.list-group-item-warning {\n color: #856404;\n background-color: #ffeeba;\n}\n\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n color: #856404;\n background-color: #ffe8a1;\n}\n\n.list-group-item-warning.list-group-item-action.active {\n color: #fff;\n background-color: #856404;\n border-color: #856404;\n}\n\n.list-group-item-danger {\n color: #721c24;\n background-color: #f5c6cb;\n}\n\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n color: #721c24;\n background-color: #f1b0b7;\n}\n\n.list-group-item-danger.list-group-item-action.active {\n color: #fff;\n background-color: #721c24;\n border-color: #721c24;\n}\n\n.list-group-item-light {\n color: #818182;\n background-color: #fdfdfe;\n}\n\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n color: #818182;\n background-color: #ececf6;\n}\n\n.list-group-item-light.list-group-item-action.active {\n color: #fff;\n background-color: #818182;\n border-color: #818182;\n}\n\n.list-group-item-dark {\n color: #1b1e21;\n background-color: #c6c8ca;\n}\n\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n color: #1b1e21;\n background-color: #b9bbbe;\n}\n\n.list-group-item-dark.list-group-item-action.active {\n color: #fff;\n background-color: #1b1e21;\n border-color: #1b1e21;\n}\n\n.close {\n float: right;\n font-size: 1.5rem;\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n opacity: .75;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\na.close.disabled {\n pointer-events: none;\n}\n\n.toast {\n flex-basis: 350px;\n max-width: 350px;\n font-size: 0.875rem;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n opacity: 0;\n border-radius: 0.25rem;\n}\n\n.toast:not(:last-child) {\n margin-bottom: 0.75rem;\n}\n\n.toast.showing {\n opacity: 1;\n}\n\n.toast.show {\n display: block;\n opacity: 1;\n}\n\n.toast.hide {\n display: none;\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: 0.25rem 0.75rem;\n color: #6c757d;\n background-color: rgba(255, 255, 255, 0.85);\n background-clip: padding-box;\n border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n border-top-left-radius: calc(0.25rem - 1px);\n border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.toast-body {\n padding: 0.75rem;\n}\n\n.modal-open {\n overflow: hidden;\n}\n\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n.modal {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1050;\n display: none;\n width: 100%;\n height: 100%;\n overflow: hidden;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 0.5rem;\n pointer-events: none;\n}\n\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n transform: translate(0, -50px);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n\n.modal.show .modal-dialog {\n transform: none;\n}\n\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n display: flex;\n max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 1rem);\n overflow: hidden;\n}\n\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n flex-shrink: 0;\n}\n\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - 1rem);\n}\n\n.modal-dialog-centered::before {\n display: block;\n height: calc(100vh - 1rem);\n height: min-content;\n content: \"\";\n}\n\n.modal-dialog-centered.modal-dialog-scrollable {\n flex-direction: column;\n justify-content: center;\n height: 100%;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n max-height: none;\n}\n\n.modal-dialog-centered.modal-dialog-scrollable::before {\n content: none;\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n pointer-events: auto;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n outline: 0;\n}\n\n.modal-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n\n.modal-backdrop.fade {\n opacity: 0;\n}\n\n.modal-backdrop.show {\n opacity: 0.5;\n}\n\n.modal-header {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n padding: 1rem 1rem;\n border-bottom: 1px solid #dee2e6;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.modal-header .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: 1.5;\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: 1rem;\n}\n\n.modal-footer {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: 0.75rem;\n border-top: 1px solid #dee2e6;\n border-bottom-right-radius: calc(0.3rem - 1px);\n border-bottom-left-radius: calc(0.3rem - 1px);\n}\n\n.modal-footer > * {\n margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n@media (min-width: 576px) {\n .modal-dialog {\n max-width: 500px;\n margin: 1.75rem auto;\n }\n .modal-dialog-scrollable {\n max-height: calc(100% - 3.5rem);\n }\n .modal-dialog-scrollable .modal-content {\n max-height: calc(100vh - 3.5rem);\n }\n .modal-dialog-centered {\n min-height: calc(100% - 3.5rem);\n }\n .modal-dialog-centered::before {\n height: calc(100vh - 3.5rem);\n height: min-content;\n }\n .modal-sm {\n max-width: 300px;\n }\n}\n\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n max-width: 800px;\n }\n}\n\n@media (min-width: 1200px) {\n .modal-xl {\n max-width: 1140px;\n }\n}\n\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n opacity: 0;\n}\n\n.tooltip.show {\n opacity: 0.9;\n}\n\n.tooltip .arrow {\n position: absolute;\n display: block;\n width: 0.8rem;\n height: 0.4rem;\n}\n\n.tooltip .arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=\"top\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=\"top\"] .arrow {\n bottom: 0;\n}\n\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=\"top\"] .arrow::before {\n top: 0;\n border-width: 0.4rem 0.4rem 0;\n border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=\"right\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=\"right\"] .arrow {\n left: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=\"right\"] .arrow::before {\n right: 0;\n border-width: 0.4rem 0.4rem 0.4rem 0;\n border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=\"bottom\"] {\n padding: 0.4rem 0;\n}\n\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow {\n top: 0;\n}\n\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=\"bottom\"] .arrow::before {\n bottom: 0;\n border-width: 0 0.4rem 0.4rem;\n border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=\"left\"] {\n padding: 0 0.4rem;\n}\n\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=\"left\"] .arrow {\n right: 0;\n width: 0.4rem;\n height: 0.8rem;\n}\n\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=\"left\"] .arrow::before {\n left: 0;\n border-width: 0.4rem 0 0.4rem 0.4rem;\n border-left-color: #000;\n}\n\n.tooltip-inner {\n max-width: 200px;\n padding: 0.25rem 0.5rem;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 0.25rem;\n}\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: block;\n max-width: 276px;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n white-space: normal;\n line-break: auto;\n font-size: 0.875rem;\n word-wrap: break-word;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 0.3rem;\n}\n\n.popover .arrow {\n position: absolute;\n display: block;\n width: 1rem;\n height: 0.5rem;\n margin: 0 0.3rem;\n}\n\n.popover .arrow::before, .popover .arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=\"top\"] {\n margin-bottom: 0.5rem;\n}\n\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=\"top\"] > .arrow {\n bottom: calc(-0.5rem - 1px);\n}\n\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=\"top\"] > .arrow::before {\n bottom: 0;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=\"top\"] > .arrow::after {\n bottom: 1px;\n border-width: 0.5rem 0.5rem 0;\n border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=\"right\"] {\n margin-left: 0.5rem;\n}\n\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=\"right\"] > .arrow {\n left: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=\"right\"] > .arrow::before {\n left: 0;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=\"right\"] > .arrow::after {\n left: 1px;\n border-width: 0.5rem 0.5rem 0.5rem 0;\n border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=\"bottom\"] {\n margin-top: 0.5rem;\n}\n\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow {\n top: calc(-0.5rem - 1px);\n}\n\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::before {\n top: 0;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=\"bottom\"] > .arrow::after {\n top: 1px;\n border-width: 0 0.5rem 0.5rem 0.5rem;\n border-bottom-color: #fff;\n}\n\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=\"bottom\"] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: 1rem;\n margin-left: -0.5rem;\n content: \"\";\n border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=\"left\"] {\n margin-right: 0.5rem;\n}\n\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=\"left\"] > .arrow {\n right: calc(-0.5rem - 1px);\n width: 0.5rem;\n height: 1rem;\n margin: 0.3rem 0;\n}\n\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=\"left\"] > .arrow::before {\n right: 0;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=\"left\"] > .arrow::after {\n right: 1px;\n border-width: 0.5rem 0 0.5rem 0.5rem;\n border-left-color: #fff;\n}\n\n.popover-header {\n padding: 0.5rem 0.75rem;\n margin-bottom: 0;\n font-size: 1rem;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-top-left-radius: calc(0.3rem - 1px);\n border-top-right-radius: calc(0.3rem - 1px);\n}\n\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: 0.5rem 0.75rem;\n color: #212529;\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n z-index: 1;\n opacity: 1;\n}\n\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-left,\n .carousel-fade .active.carousel-item-right {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n color: #fff;\n text-align: center;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 20px;\n height: 20px;\n background: 50% / 100% 100% no-repeat;\n}\n\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 15;\n display: flex;\n justify-content: center;\n padding-left: 0;\n margin-right: 15%;\n margin-left: 15%;\n list-style: none;\n}\n\n.carousel-indicators li {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: .5;\n transition: opacity 0.6s ease;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators li {\n transition: none;\n }\n}\n\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg);\n }\n}\n\n.spinner-border {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n border: 0.25em solid currentColor;\n border-right-color: transparent;\n border-radius: 50%;\n animation: .75s linear infinite spinner-border;\n}\n\n.spinner-border-sm {\n width: 1rem;\n height: 1rem;\n border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n\n.spinner-grow {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n vertical-align: text-bottom;\n background-color: currentColor;\n border-radius: 50%;\n opacity: 0;\n animation: .75s linear infinite spinner-grow;\n}\n\n.spinner-grow-sm {\n width: 1rem;\n height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n animation-duration: 1.5s;\n }\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.bg-primary {\n background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n background-color: #0062cc !important;\n}\n\n.bg-secondary {\n background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n background-color: #545b62 !important;\n}\n\n.bg-success {\n background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n background-color: #1e7e34 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n background-color: #117a8b !important;\n}\n\n.bg-warning {\n background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n background-color: #d39e00 !important;\n}\n\n.bg-danger {\n background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n background-color: #bd2130 !important;\n}\n\n.bg-light {\n background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n background-color: #1d2124 !important;\n}\n\n.bg-white {\n background-color: #fff !important;\n}\n\n.bg-transparent {\n background-color: transparent !important;\n}\n\n.border {\n border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-right-0 {\n border-right: 0 !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-left-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n border-color: #007bff !important;\n}\n\n.border-secondary {\n border-color: #6c757d !important;\n}\n\n.border-success {\n border-color: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !important;\n}\n\n.border-warning {\n border-color: #ffc107 !important;\n}\n\n.border-danger {\n border-color: #dc3545 !important;\n}\n\n.border-light {\n border-color: #f8f9fa !important;\n}\n\n.border-dark {\n border-color: #343a40 !important;\n}\n\n.border-white {\n border-color: #fff !important;\n}\n\n.rounded-sm {\n border-radius: 0.2rem !important;\n}\n\n.rounded {\n border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n border-top-left-radius: 0.25rem !important;\n border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n border-top-right-radius: 0.25rem !important;\n border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n border-top-left-radius: 0.25rem !important;\n border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: 50rem !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.d-none {\n display: none !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-none {\n display: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 768px) {\n .d-md-none {\n display: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 992px) {\n .d-lg-none {\n display: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media (min-width: 1200px) {\n .d-xl-none {\n display: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n}\n\n@media print {\n .d-print-none {\n display: none !important;\n }\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n}\n\n.embed-responsive {\n position: relative;\n display: block;\n width: 100%;\n padding: 0;\n overflow: hidden;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 100%;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 768px) {\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 992px) {\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n}\n\n@media (min-width: 1200px) {\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n}\n\n.float-left {\n float: left !important;\n}\n\n.float-right {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-left {\n float: left !important;\n }\n .float-sm-right {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n}\n\n@media (min-width: 768px) {\n .float-md-left {\n float: left !important;\n }\n .float-md-right {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n}\n\n@media (min-width: 992px) {\n .float-lg-left {\n float: left !important;\n }\n .float-lg-right {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n}\n\n@media (min-width: 1200px) {\n .float-xl-left {\n float: left !important;\n }\n .float-xl-right {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n@supports (position: sticky) {\n .sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n}\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n overflow: visible;\n clip: auto;\n white-space: normal;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n margin-left: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n margin-left: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n margin-left: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n margin-left: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n margin-left: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n margin-left: 3rem !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n padding-left: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n padding-left: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n padding-left: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n padding-left: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n padding-left: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n padding-left: 3rem !important;\n}\n\n.m-n1 {\n margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n margin-left: -1rem !important;\n}\n\n.m-n4 {\n margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n margin-left: -3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .m-sm-0 {\n margin: 0 !important;\n }\n .mt-sm-0,\n .my-sm-0 {\n margin-top: 0 !important;\n }\n .mr-sm-0,\n .mx-sm-0 {\n margin-right: 0 !important;\n }\n .mb-sm-0,\n .my-sm-0 {\n margin-bottom: 0 !important;\n }\n .ml-sm-0,\n .mx-sm-0 {\n margin-left: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .mt-sm-1,\n .my-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mr-sm-1,\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n }\n .mb-sm-1,\n .my-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-sm-1,\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .mt-sm-2,\n .my-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mr-sm-2,\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n }\n .mb-sm-2,\n .my-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-sm-2,\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .mt-sm-3,\n .my-sm-3 {\n margin-top: 1rem !important;\n }\n .mr-sm-3,\n .mx-sm-3 {\n margin-right: 1rem !important;\n }\n .mb-sm-3,\n .my-sm-3 {\n margin-bottom: 1rem !important;\n }\n .ml-sm-3,\n .mx-sm-3 {\n margin-left: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .mt-sm-4,\n .my-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mr-sm-4,\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n }\n .mb-sm-4,\n .my-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-sm-4,\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .mt-sm-5,\n .my-sm-5 {\n margin-top: 3rem !important;\n }\n .mr-sm-5,\n .mx-sm-5 {\n margin-right: 3rem !important;\n }\n .mb-sm-5,\n .my-sm-5 {\n margin-bottom: 3rem !important;\n }\n .ml-sm-5,\n .mx-sm-5 {\n margin-left: 3rem !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .pt-sm-0,\n .py-sm-0 {\n padding-top: 0 !important;\n }\n .pr-sm-0,\n .px-sm-0 {\n padding-right: 0 !important;\n }\n .pb-sm-0,\n .py-sm-0 {\n padding-bottom: 0 !important;\n }\n .pl-sm-0,\n .px-sm-0 {\n padding-left: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .pt-sm-1,\n .py-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pr-sm-1,\n .px-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pb-sm-1,\n .py-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-sm-1,\n .px-sm-1 {\n padding-left: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .pt-sm-2,\n .py-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pr-sm-2,\n .px-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pb-sm-2,\n .py-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-sm-2,\n .px-sm-2 {\n padding-left: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .pt-sm-3,\n .py-sm-3 {\n padding-top: 1rem !important;\n }\n .pr-sm-3,\n .px-sm-3 {\n padding-right: 1rem !important;\n }\n .pb-sm-3,\n .py-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pl-sm-3,\n .px-sm-3 {\n padding-left: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .pt-sm-4,\n .py-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pr-sm-4,\n .px-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pb-sm-4,\n .py-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-sm-4,\n .px-sm-4 {\n padding-left: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .pt-sm-5,\n .py-sm-5 {\n padding-top: 3rem !important;\n }\n .pr-sm-5,\n .px-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-5,\n .py-sm-5 {\n padding-bottom: 3rem !important;\n }\n .pl-sm-5,\n .px-sm-5 {\n padding-left: 3rem !important;\n }\n .m-sm-n1 {\n margin: -0.25rem !important;\n }\n .mt-sm-n1,\n .my-sm-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-sm-n1,\n .mx-sm-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-sm-n1,\n .my-sm-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-sm-n1,\n .mx-sm-n1 {\n margin-left: -0.25rem !important;\n }\n .m-sm-n2 {\n margin: -0.5rem !important;\n }\n .mt-sm-n2,\n .my-sm-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-sm-n2,\n .mx-sm-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-sm-n2,\n .my-sm-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-sm-n2,\n .mx-sm-n2 {\n margin-left: -0.5rem !important;\n }\n .m-sm-n3 {\n margin: -1rem !important;\n }\n .mt-sm-n3,\n .my-sm-n3 {\n margin-top: -1rem !important;\n }\n .mr-sm-n3,\n .mx-sm-n3 {\n margin-right: -1rem !important;\n }\n .mb-sm-n3,\n .my-sm-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-sm-n3,\n .mx-sm-n3 {\n margin-left: -1rem !important;\n }\n .m-sm-n4 {\n margin: -1.5rem !important;\n }\n .mt-sm-n4,\n .my-sm-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-sm-n4,\n .mx-sm-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-sm-n4,\n .my-sm-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-sm-n4,\n .mx-sm-n4 {\n margin-left: -1.5rem !important;\n }\n .m-sm-n5 {\n margin: -3rem !important;\n }\n .mt-sm-n5,\n .my-sm-n5 {\n margin-top: -3rem !important;\n }\n .mr-sm-n5,\n .mx-sm-n5 {\n margin-right: -3rem !important;\n }\n .mb-sm-n5,\n .my-sm-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-sm-n5,\n .mx-sm-n5 {\n margin-left: -3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mt-sm-auto,\n .my-sm-auto {\n margin-top: auto !important;\n }\n .mr-sm-auto,\n .mx-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-auto,\n .my-sm-auto {\n margin-bottom: auto !important;\n }\n .ml-sm-auto,\n .mx-sm-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .m-md-0 {\n margin: 0 !important;\n }\n .mt-md-0,\n .my-md-0 {\n margin-top: 0 !important;\n }\n .mr-md-0,\n .mx-md-0 {\n margin-right: 0 !important;\n }\n .mb-md-0,\n .my-md-0 {\n margin-bottom: 0 !important;\n }\n .ml-md-0,\n .mx-md-0 {\n margin-left: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .mt-md-1,\n .my-md-1 {\n margin-top: 0.25rem !important;\n }\n .mr-md-1,\n .mx-md-1 {\n margin-right: 0.25rem !important;\n }\n .mb-md-1,\n .my-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-md-1,\n .mx-md-1 {\n margin-left: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .mt-md-2,\n .my-md-2 {\n margin-top: 0.5rem !important;\n }\n .mr-md-2,\n .mx-md-2 {\n margin-right: 0.5rem !important;\n }\n .mb-md-2,\n .my-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-md-2,\n .mx-md-2 {\n margin-left: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .mt-md-3,\n .my-md-3 {\n margin-top: 1rem !important;\n }\n .mr-md-3,\n .mx-md-3 {\n margin-right: 1rem !important;\n }\n .mb-md-3,\n .my-md-3 {\n margin-bottom: 1rem !important;\n }\n .ml-md-3,\n .mx-md-3 {\n margin-left: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .mt-md-4,\n .my-md-4 {\n margin-top: 1.5rem !important;\n }\n .mr-md-4,\n .mx-md-4 {\n margin-right: 1.5rem !important;\n }\n .mb-md-4,\n .my-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-md-4,\n .mx-md-4 {\n margin-left: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .mt-md-5,\n .my-md-5 {\n margin-top: 3rem !important;\n }\n .mr-md-5,\n .mx-md-5 {\n margin-right: 3rem !important;\n }\n .mb-md-5,\n .my-md-5 {\n margin-bottom: 3rem !important;\n }\n .ml-md-5,\n .mx-md-5 {\n margin-left: 3rem !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .pt-md-0,\n .py-md-0 {\n padding-top: 0 !important;\n }\n .pr-md-0,\n .px-md-0 {\n padding-right: 0 !important;\n }\n .pb-md-0,\n .py-md-0 {\n padding-bottom: 0 !important;\n }\n .pl-md-0,\n .px-md-0 {\n padding-left: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .pt-md-1,\n .py-md-1 {\n padding-top: 0.25rem !important;\n }\n .pr-md-1,\n .px-md-1 {\n padding-right: 0.25rem !important;\n }\n .pb-md-1,\n .py-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-md-1,\n .px-md-1 {\n padding-left: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .pt-md-2,\n .py-md-2 {\n padding-top: 0.5rem !important;\n }\n .pr-md-2,\n .px-md-2 {\n padding-right: 0.5rem !important;\n }\n .pb-md-2,\n .py-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-md-2,\n .px-md-2 {\n padding-left: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .pt-md-3,\n .py-md-3 {\n padding-top: 1rem !important;\n }\n .pr-md-3,\n .px-md-3 {\n padding-right: 1rem !important;\n }\n .pb-md-3,\n .py-md-3 {\n padding-bottom: 1rem !important;\n }\n .pl-md-3,\n .px-md-3 {\n padding-left: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .pt-md-4,\n .py-md-4 {\n padding-top: 1.5rem !important;\n }\n .pr-md-4,\n .px-md-4 {\n padding-right: 1.5rem !important;\n }\n .pb-md-4,\n .py-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-md-4,\n .px-md-4 {\n padding-left: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .pt-md-5,\n .py-md-5 {\n padding-top: 3rem !important;\n }\n .pr-md-5,\n .px-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-5,\n .py-md-5 {\n padding-bottom: 3rem !important;\n }\n .pl-md-5,\n .px-md-5 {\n padding-left: 3rem !important;\n }\n .m-md-n1 {\n margin: -0.25rem !important;\n }\n .mt-md-n1,\n .my-md-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-md-n1,\n .mx-md-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-md-n1,\n .my-md-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-md-n1,\n .mx-md-n1 {\n margin-left: -0.25rem !important;\n }\n .m-md-n2 {\n margin: -0.5rem !important;\n }\n .mt-md-n2,\n .my-md-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-md-n2,\n .mx-md-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-md-n2,\n .my-md-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-md-n2,\n .mx-md-n2 {\n margin-left: -0.5rem !important;\n }\n .m-md-n3 {\n margin: -1rem !important;\n }\n .mt-md-n3,\n .my-md-n3 {\n margin-top: -1rem !important;\n }\n .mr-md-n3,\n .mx-md-n3 {\n margin-right: -1rem !important;\n }\n .mb-md-n3,\n .my-md-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-md-n3,\n .mx-md-n3 {\n margin-left: -1rem !important;\n }\n .m-md-n4 {\n margin: -1.5rem !important;\n }\n .mt-md-n4,\n .my-md-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-md-n4,\n .mx-md-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-md-n4,\n .my-md-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-md-n4,\n .mx-md-n4 {\n margin-left: -1.5rem !important;\n }\n .m-md-n5 {\n margin: -3rem !important;\n }\n .mt-md-n5,\n .my-md-n5 {\n margin-top: -3rem !important;\n }\n .mr-md-n5,\n .mx-md-n5 {\n margin-right: -3rem !important;\n }\n .mb-md-n5,\n .my-md-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-md-n5,\n .mx-md-n5 {\n margin-left: -3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mt-md-auto,\n .my-md-auto {\n margin-top: auto !important;\n }\n .mr-md-auto,\n .mx-md-auto {\n margin-right: auto !important;\n }\n .mb-md-auto,\n .my-md-auto {\n margin-bottom: auto !important;\n }\n .ml-md-auto,\n .mx-md-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .m-lg-0 {\n margin: 0 !important;\n }\n .mt-lg-0,\n .my-lg-0 {\n margin-top: 0 !important;\n }\n .mr-lg-0,\n .mx-lg-0 {\n margin-right: 0 !important;\n }\n .mb-lg-0,\n .my-lg-0 {\n margin-bottom: 0 !important;\n }\n .ml-lg-0,\n .mx-lg-0 {\n margin-left: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .mt-lg-1,\n .my-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mr-lg-1,\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n }\n .mb-lg-1,\n .my-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-lg-1,\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .mt-lg-2,\n .my-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mr-lg-2,\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n }\n .mb-lg-2,\n .my-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-lg-2,\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .mt-lg-3,\n .my-lg-3 {\n margin-top: 1rem !important;\n }\n .mr-lg-3,\n .mx-lg-3 {\n margin-right: 1rem !important;\n }\n .mb-lg-3,\n .my-lg-3 {\n margin-bottom: 1rem !important;\n }\n .ml-lg-3,\n .mx-lg-3 {\n margin-left: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .mt-lg-4,\n .my-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mr-lg-4,\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n }\n .mb-lg-4,\n .my-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-lg-4,\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .mt-lg-5,\n .my-lg-5 {\n margin-top: 3rem !important;\n }\n .mr-lg-5,\n .mx-lg-5 {\n margin-right: 3rem !important;\n }\n .mb-lg-5,\n .my-lg-5 {\n margin-bottom: 3rem !important;\n }\n .ml-lg-5,\n .mx-lg-5 {\n margin-left: 3rem !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .pt-lg-0,\n .py-lg-0 {\n padding-top: 0 !important;\n }\n .pr-lg-0,\n .px-lg-0 {\n padding-right: 0 !important;\n }\n .pb-lg-0,\n .py-lg-0 {\n padding-bottom: 0 !important;\n }\n .pl-lg-0,\n .px-lg-0 {\n padding-left: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .pt-lg-1,\n .py-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pr-lg-1,\n .px-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pb-lg-1,\n .py-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-lg-1,\n .px-lg-1 {\n padding-left: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .pt-lg-2,\n .py-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pr-lg-2,\n .px-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pb-lg-2,\n .py-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-lg-2,\n .px-lg-2 {\n padding-left: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .pt-lg-3,\n .py-lg-3 {\n padding-top: 1rem !important;\n }\n .pr-lg-3,\n .px-lg-3 {\n padding-right: 1rem !important;\n }\n .pb-lg-3,\n .py-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pl-lg-3,\n .px-lg-3 {\n padding-left: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .pt-lg-4,\n .py-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pr-lg-4,\n .px-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pb-lg-4,\n .py-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-lg-4,\n .px-lg-4 {\n padding-left: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .pt-lg-5,\n .py-lg-5 {\n padding-top: 3rem !important;\n }\n .pr-lg-5,\n .px-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-5,\n .py-lg-5 {\n padding-bottom: 3rem !important;\n }\n .pl-lg-5,\n .px-lg-5 {\n padding-left: 3rem !important;\n }\n .m-lg-n1 {\n margin: -0.25rem !important;\n }\n .mt-lg-n1,\n .my-lg-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-lg-n1,\n .mx-lg-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-lg-n1,\n .my-lg-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-lg-n1,\n .mx-lg-n1 {\n margin-left: -0.25rem !important;\n }\n .m-lg-n2 {\n margin: -0.5rem !important;\n }\n .mt-lg-n2,\n .my-lg-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-lg-n2,\n .mx-lg-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-lg-n2,\n .my-lg-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-lg-n2,\n .mx-lg-n2 {\n margin-left: -0.5rem !important;\n }\n .m-lg-n3 {\n margin: -1rem !important;\n }\n .mt-lg-n3,\n .my-lg-n3 {\n margin-top: -1rem !important;\n }\n .mr-lg-n3,\n .mx-lg-n3 {\n margin-right: -1rem !important;\n }\n .mb-lg-n3,\n .my-lg-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-lg-n3,\n .mx-lg-n3 {\n margin-left: -1rem !important;\n }\n .m-lg-n4 {\n margin: -1.5rem !important;\n }\n .mt-lg-n4,\n .my-lg-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-lg-n4,\n .mx-lg-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-lg-n4,\n .my-lg-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-lg-n4,\n .mx-lg-n4 {\n margin-left: -1.5rem !important;\n }\n .m-lg-n5 {\n margin: -3rem !important;\n }\n .mt-lg-n5,\n .my-lg-n5 {\n margin-top: -3rem !important;\n }\n .mr-lg-n5,\n .mx-lg-n5 {\n margin-right: -3rem !important;\n }\n .mb-lg-n5,\n .my-lg-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-lg-n5,\n .mx-lg-n5 {\n margin-left: -3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mt-lg-auto,\n .my-lg-auto {\n margin-top: auto !important;\n }\n .mr-lg-auto,\n .mx-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-auto,\n .my-lg-auto {\n margin-bottom: auto !important;\n }\n .ml-lg-auto,\n .mx-lg-auto {\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .m-xl-0 {\n margin: 0 !important;\n }\n .mt-xl-0,\n .my-xl-0 {\n margin-top: 0 !important;\n }\n .mr-xl-0,\n .mx-xl-0 {\n margin-right: 0 !important;\n }\n .mb-xl-0,\n .my-xl-0 {\n margin-bottom: 0 !important;\n }\n .ml-xl-0,\n .mx-xl-0 {\n margin-left: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .mt-xl-1,\n .my-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mr-xl-1,\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n }\n .mb-xl-1,\n .my-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .ml-xl-1,\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .mt-xl-2,\n .my-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mr-xl-2,\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n }\n .mb-xl-2,\n .my-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .ml-xl-2,\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .mt-xl-3,\n .my-xl-3 {\n margin-top: 1rem !important;\n }\n .mr-xl-3,\n .mx-xl-3 {\n margin-right: 1rem !important;\n }\n .mb-xl-3,\n .my-xl-3 {\n margin-bottom: 1rem !important;\n }\n .ml-xl-3,\n .mx-xl-3 {\n margin-left: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .mt-xl-4,\n .my-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mr-xl-4,\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n }\n .mb-xl-4,\n .my-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .ml-xl-4,\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .mt-xl-5,\n .my-xl-5 {\n margin-top: 3rem !important;\n }\n .mr-xl-5,\n .mx-xl-5 {\n margin-right: 3rem !important;\n }\n .mb-xl-5,\n .my-xl-5 {\n margin-bottom: 3rem !important;\n }\n .ml-xl-5,\n .mx-xl-5 {\n margin-left: 3rem !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .pt-xl-0,\n .py-xl-0 {\n padding-top: 0 !important;\n }\n .pr-xl-0,\n .px-xl-0 {\n padding-right: 0 !important;\n }\n .pb-xl-0,\n .py-xl-0 {\n padding-bottom: 0 !important;\n }\n .pl-xl-0,\n .px-xl-0 {\n padding-left: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .pt-xl-1,\n .py-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pr-xl-1,\n .px-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pb-xl-1,\n .py-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pl-xl-1,\n .px-xl-1 {\n padding-left: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .pt-xl-2,\n .py-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pr-xl-2,\n .px-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pb-xl-2,\n .py-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pl-xl-2,\n .px-xl-2 {\n padding-left: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .pt-xl-3,\n .py-xl-3 {\n padding-top: 1rem !important;\n }\n .pr-xl-3,\n .px-xl-3 {\n padding-right: 1rem !important;\n }\n .pb-xl-3,\n .py-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pl-xl-3,\n .px-xl-3 {\n padding-left: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .pt-xl-4,\n .py-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pr-xl-4,\n .px-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pb-xl-4,\n .py-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pl-xl-4,\n .px-xl-4 {\n padding-left: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .pt-xl-5,\n .py-xl-5 {\n padding-top: 3rem !important;\n }\n .pr-xl-5,\n .px-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-5,\n .py-xl-5 {\n padding-bottom: 3rem !important;\n }\n .pl-xl-5,\n .px-xl-5 {\n padding-left: 3rem !important;\n }\n .m-xl-n1 {\n margin: -0.25rem !important;\n }\n .mt-xl-n1,\n .my-xl-n1 {\n margin-top: -0.25rem !important;\n }\n .mr-xl-n1,\n .mx-xl-n1 {\n margin-right: -0.25rem !important;\n }\n .mb-xl-n1,\n .my-xl-n1 {\n margin-bottom: -0.25rem !important;\n }\n .ml-xl-n1,\n .mx-xl-n1 {\n margin-left: -0.25rem !important;\n }\n .m-xl-n2 {\n margin: -0.5rem !important;\n }\n .mt-xl-n2,\n .my-xl-n2 {\n margin-top: -0.5rem !important;\n }\n .mr-xl-n2,\n .mx-xl-n2 {\n margin-right: -0.5rem !important;\n }\n .mb-xl-n2,\n .my-xl-n2 {\n margin-bottom: -0.5rem !important;\n }\n .ml-xl-n2,\n .mx-xl-n2 {\n margin-left: -0.5rem !important;\n }\n .m-xl-n3 {\n margin: -1rem !important;\n }\n .mt-xl-n3,\n .my-xl-n3 {\n margin-top: -1rem !important;\n }\n .mr-xl-n3,\n .mx-xl-n3 {\n margin-right: -1rem !important;\n }\n .mb-xl-n3,\n .my-xl-n3 {\n margin-bottom: -1rem !important;\n }\n .ml-xl-n3,\n .mx-xl-n3 {\n margin-left: -1rem !important;\n }\n .m-xl-n4 {\n margin: -1.5rem !important;\n }\n .mt-xl-n4,\n .my-xl-n4 {\n margin-top: -1.5rem !important;\n }\n .mr-xl-n4,\n .mx-xl-n4 {\n margin-right: -1.5rem !important;\n }\n .mb-xl-n4,\n .my-xl-n4 {\n margin-bottom: -1.5rem !important;\n }\n .ml-xl-n4,\n .mx-xl-n4 {\n margin-left: -1.5rem !important;\n }\n .m-xl-n5 {\n margin: -3rem !important;\n }\n .mt-xl-n5,\n .my-xl-n5 {\n margin-top: -3rem !important;\n }\n .mr-xl-n5,\n .mx-xl-n5 {\n margin-right: -3rem !important;\n }\n .mb-xl-n5,\n .my-xl-n5 {\n margin-bottom: -3rem !important;\n }\n .ml-xl-n5,\n .mx-xl-n5 {\n margin-left: -3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mt-xl-auto,\n .my-xl-auto {\n margin-top: auto !important;\n }\n .mr-xl-auto,\n .mx-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-auto,\n .my-xl-auto {\n margin-bottom: auto !important;\n }\n .ml-xl-auto,\n .mx-xl-auto {\n margin-left: auto !important;\n }\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n pointer-events: auto;\n content: \"\";\n background-color: rgba(0, 0, 0, 0);\n}\n\n.text-monospace {\n font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n text-align: justify !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.text-left {\n text-align: left !important;\n}\n\n.text-right {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n@media (min-width: 576px) {\n .text-sm-left {\n text-align: left !important;\n }\n .text-sm-right {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 768px) {\n .text-md-left {\n text-align: left !important;\n }\n .text-md-right {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 992px) {\n .text-lg-left {\n text-align: left !important;\n }\n .text-lg-right {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n\n@media (min-width: 1200px) {\n .text-xl-left {\n text-align: left !important;\n }\n .text-xl-right {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.font-weight-light {\n font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n font-weight: lighter !important;\n}\n\n.font-weight-normal {\n font-weight: 400 !important;\n}\n\n.font-weight-bold {\n font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n font-weight: bolder !important;\n}\n\n.font-italic {\n font-style: italic !important;\n}\n\n.text-white {\n color: #fff !important;\n}\n\n.text-primary {\n color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n color: #0056b3 !important;\n}\n\n.text-secondary {\n color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n color: #494f54 !important;\n}\n\n.text-success {\n color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n color: #19692c !important;\n}\n\n.text-info {\n color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n color: #0f6674 !important;\n}\n\n.text-warning {\n color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n color: #ba8b00 !important;\n}\n\n.text-danger {\n color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n color: #a71d2a !important;\n}\n\n.text-light {\n color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n color: #cbd3da !important;\n}\n\n.text-dark {\n color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n color: #121416 !important;\n}\n\n.text-body {\n color: #212529 !important;\n}\n\n.text-muted {\n color: #6c757d !important;\n}\n\n.text-black-50 {\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-break {\n word-break: break-word !important;\n word-wrap: break-word !important;\n}\n\n.text-reset {\n color: inherit !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n@media print {\n *,\n *::before,\n *::after {\n text-shadow: none !important;\n box-shadow: none !important;\n }\n a:not(.btn) {\n text-decoration: underline;\n }\n abbr[title]::after {\n content: \" (\" attr(title) \")\";\n }\n pre {\n white-space: pre-wrap !important;\n }\n pre,\n blockquote {\n border: 1px solid #adb5bd;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n @page {\n size: a3;\n }\n body {\n min-width: 992px !important;\n }\n .container {\n min-width: 992px !important;\n }\n .navbar {\n display: none;\n }\n .badge {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #dee2e6 !important;\n }\n .table-dark {\n color: inherit;\n }\n .table-dark th,\n .table-dark td,\n .table-dark thead th,\n .table-dark tbody + tbody {\n border-color: #dee2e6;\n }\n .table .thead-dark th {\n color: inherit;\n border-color: #dee2e6;\n }\n}\n\n.rtl,\n[dir=\"rtl\"] {\n text-align: right;\n direction: rtl;\n}\n\n.rtl .nav,\n[dir=\"rtl\"] .nav {\n padding-right: 0;\n}\n\n.rtl .navbar-nav .nav-item,\n[dir=\"rtl\"] .navbar-nav .nav-item {\n float: right;\n}\n\n.rtl .navbar-nav .nav-item + .nav-item,\n[dir=\"rtl\"] .navbar-nav .nav-item + .nav-item {\n margin-right: inherit;\n margin-left: 1rem;\n}\n\n.rtl th,\n[dir=\"rtl\"] th {\n text-align: right;\n}\n\n.rtl .alert-dismissible,\n[dir=\"rtl\"] .alert-dismissible {\n padding-right: 1.25rem;\n padding-left: 4rem;\n}\n\n.rtl .dropdown-menu,\n[dir=\"rtl\"] .dropdown-menu {\n right: 0;\n left: inherit;\n text-align: right;\n}\n\n.rtl .checkbox label,\n[dir=\"rtl\"] .checkbox label {\n padding-right: 1.25rem;\n padding-left: inherit;\n}\n\n.rtl .btn-group > .btn:not(:first-child),\n.rtl .btn-group > .btn-group:not(:first-child),\n[dir=\"rtl\"] .btn-group > .btn:not(:first-child),\n[dir=\"rtl\"] .btn-group > .btn-group:not(:first-child) {\n margin-left: initial;\n margin-right: -1px;\n}\n\n.rtl .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle),\n[dir=\"rtl\"] .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.rtl .btn-group > .btn:last-child:not(:first-child),\n.rtl .btn-group > .dropdown-toggle:not(:first-child),\n[dir=\"rtl\"] .btn-group > .btn:last-child:not(:first-child),\n[dir=\"rtl\"] .btn-group > .dropdown-toggle:not(:first-child) {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child,\n[dir=\"rtl\"] .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .custom-control,\n[dir=\"rtl\"] .custom-control {\n padding-right: 1.5rem;\n padding-left: inherit;\n margin-right: inherit;\n margin-left: 1rem;\n}\n\n.rtl .custom-control-indicator,\n[dir=\"rtl\"] .custom-control-indicator {\n right: 0;\n left: inherit;\n}\n\n.rtl .custom-file-label::after,\n[dir=\"rtl\"] .custom-file-label::after {\n right: initial;\n left: -1px;\n border-radius: .25rem 0 0 .25rem;\n}\n\n.rtl .custom-control-label::after,\n.rtl .custom-control-label::before,\n[dir=\"rtl\"] .custom-control-label::after,\n[dir=\"rtl\"] .custom-control-label::before {\n right: -1.5rem;\n left: inherit;\n}\n\n.rtl .custom-select,\n[dir=\"rtl\"] .custom-select {\n padding: 0.375rem 0.75rem 0.375rem 1.75rem;\n background: #fff url(\"data:image/svg+xml,\") no-repeat left 0.75rem center;\n background-size: 8px 10px;\n}\n\n.rtl .custom-switch,\n[dir=\"rtl\"] .custom-switch {\n padding-right: 2.25rem;\n padding-left: inherit;\n}\n\n.rtl .custom-switch .custom-control-label::before,\n[dir=\"rtl\"] .custom-switch .custom-control-label::before {\n right: -2.25rem;\n}\n\n.rtl .custom-switch .custom-control-label::after,\n[dir=\"rtl\"] .custom-switch .custom-control-label::after {\n right: calc(-2.25rem + 2px);\n}\n\n.rtl .custom-switch .custom-control-input:checked ~ .custom-control-label::after,\n[dir=\"rtl\"] .custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n transform: translateX(-0.75rem);\n}\n\n.rtl .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.rtl .input-group > .input-group-append:last-child > .input-group-text:not(:last-child),\n.rtl .input-group > .input-group-append:not(:last-child) > .btn,\n.rtl .input-group > .input-group-append:not(:last-child) > .input-group-text,\n.rtl .input-group > .input-group-prepend > .btn,\n.rtl .input-group > .input-group-prepend > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n[dir=\"rtl\"] .input-group > .input-group-append:last-child > .input-group-text:not(:last-child),\n[dir=\"rtl\"] .input-group > .input-group-append:not(:last-child) > .btn,\n[dir=\"rtl\"] .input-group > .input-group-append:not(:last-child) > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-prepend > .btn,\n[dir=\"rtl\"] .input-group > .input-group-prepend > .input-group-text {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.rtl .input-group > .input-group-append > .btn,\n.rtl .input-group > .input-group-append > .input-group-text,\n.rtl .input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.rtl .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child),\n.rtl .input-group > .input-group-prepend:not(:first-child) > .btn,\n.rtl .input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-append > .btn,\n[dir=\"rtl\"] .input-group > .input-group-append > .input-group-text,\n[dir=\"rtl\"] .input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n[dir=\"rtl\"] .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child),\n[dir=\"rtl\"] .input-group > .input-group-prepend:not(:first-child) > .btn,\n[dir=\"rtl\"] .input-group > .input-group-prepend:not(:first-child) > .input-group-text {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .input-group > .custom-select:not(:first-child),\n.rtl .input-group > .form-control:not(:first-child),\n[dir=\"rtl\"] .input-group > .custom-select:not(:first-child),\n[dir=\"rtl\"] .input-group > .form-control:not(:first-child) {\n border-radius: 0.25rem 0 0 0.25rem;\n}\n\n.rtl .input-group > .custom-select:not(:last-child),\n.rtl .input-group > .form-control:not(:last-child),\n[dir=\"rtl\"] .input-group > .custom-select:not(:last-child),\n[dir=\"rtl\"] .input-group > .form-control:not(:last-child) {\n border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.rtl .input-group > .custom-select:not(:last-child):not(:first-child),\n.rtl .input-group > .form-control:not(:last-child):not(:first-child),\n[dir=\"rtl\"] .input-group > .custom-select:not(:last-child):not(:first-child),\n[dir=\"rtl\"] .input-group > .form-control:not(:last-child):not(:first-child) {\n border-radius: 0;\n}\n\n.rtl .radio input,\n.rtl .radio-inline,\n.rtl .checkbox input,\n.rtl .checkbox-inline input,\n[dir=\"rtl\"] .radio input,\n[dir=\"rtl\"] .radio-inline,\n[dir=\"rtl\"] .checkbox input,\n[dir=\"rtl\"] .checkbox-inline input {\n margin-right: -1.25rem;\n margin-left: inherit;\n}\n\n.rtl .breadcrumb-item + .breadcrumb-item,\n[dir=\"rtl\"] .breadcrumb-item + .breadcrumb-item {\n padding-right: 0.5rem;\n padding-left: 0;\n color: #6c757d;\n content: \"/\";\n}\n\n.rtl .breadcrumb-item + .breadcrumb-item::before,\n[dir=\"rtl\"] .breadcrumb-item + .breadcrumb-item::before {\n padding-right: 0;\n padding-left: 0.5rem;\n}\n\n.rtl .list-group,\n[dir=\"rtl\"] .list-group {\n padding-right: 0;\n padding-left: 40px;\n}\n\n.rtl .close,\n[dir=\"rtl\"] .close {\n float: left;\n}\n\n.rtl .modal-header .close,\n[dir=\"rtl\"] .modal-header .close {\n margin: -15px auto -15px -15px;\n}\n\n.rtl .modal-footer > :not(:first-child),\n[dir=\"rtl\"] .modal-footer > :not(:first-child) {\n margin-right: .25rem;\n}\n\n.rtl .modal-footer > :not(:last-child),\n[dir=\"rtl\"] .modal-footer > :not(:last-child) {\n margin-left: .25rem;\n}\n\n.rtl .modal-footer > :first-child,\n[dir=\"rtl\"] .modal-footer > :first-child {\n margin-right: 0;\n}\n\n.rtl .modal-footer > :last-child,\n[dir=\"rtl\"] .modal-footer > :last-child {\n margin-left: 0;\n}\n\n.rtl .alert-dismissible .close,\n[dir=\"rtl\"] .alert-dismissible .close {\n right: inherit;\n left: 0;\n}\n\n.rtl .dropdown-toggle::after,\n[dir=\"rtl\"] .dropdown-toggle::after {\n margin-right: .255em;\n margin-left: 0;\n}\n\n.rtl .form-check-input,\n[dir=\"rtl\"] .form-check-input {\n margin-right: -1.25rem;\n margin-left: inherit;\n}\n\n.rtl .form-check-label,\n[dir=\"rtl\"] .form-check-label {\n padding-right: 1.25rem;\n padding-left: inherit;\n}\n\n.rtl .pagination,\n.rtl .list-unstyled,\n.rtl .list-inline,\n[dir=\"rtl\"] .pagination,\n[dir=\"rtl\"] .list-unstyled,\n[dir=\"rtl\"] .list-inline {\n padding-right: 0;\n padding-left: inherit;\n}\n\n.rtl .pagination .page-item:first-child .page-link,\n[dir=\"rtl\"] .pagination .page-item:first-child .page-link {\n border-top-right-radius: 0.25rem;\n border-bottom-right-radius: 0.25rem;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.rtl .pagination .page-item:last-child .page-link,\n[dir=\"rtl\"] .pagination .page-item:last-child .page-link {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: 0.25rem;\n border-bottom-left-radius: 0.25rem;\n}\n\n.rtl .offset-1,\n[dir=\"rtl\"] .offset-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-2,\n[dir=\"rtl\"] .offset-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n}\n\n.rtl .offset-3,\n[dir=\"rtl\"] .offset-3 {\n margin-right: 25%;\n margin-left: 0;\n}\n\n.rtl .offset-4,\n[dir=\"rtl\"] .offset-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-5,\n[dir=\"rtl\"] .offset-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n}\n\n.rtl .offset-6,\n[dir=\"rtl\"] .offset-6 {\n margin-right: 50%;\n margin-left: 0;\n}\n\n.rtl .offset-7,\n[dir=\"rtl\"] .offset-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-8,\n[dir=\"rtl\"] .offset-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n}\n\n.rtl .offset-9,\n[dir=\"rtl\"] .offset-9 {\n margin-right: 75%;\n margin-left: 0;\n}\n\n.rtl .offset-10,\n[dir=\"rtl\"] .offset-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n}\n\n.rtl .offset-11,\n[dir=\"rtl\"] .offset-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n}\n\n@media (min-width: 576px) {\n .rtl .offset-sm-0,\n [dir=\"rtl\"] .offset-sm-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-sm-1,\n [dir=\"rtl\"] .offset-sm-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-2,\n [dir=\"rtl\"] .offset-sm-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-sm-3,\n [dir=\"rtl\"] .offset-sm-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-sm-4,\n [dir=\"rtl\"] .offset-sm-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-5,\n [dir=\"rtl\"] .offset-sm-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-sm-6,\n [dir=\"rtl\"] .offset-sm-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-sm-7,\n [dir=\"rtl\"] .offset-sm-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-8,\n [dir=\"rtl\"] .offset-sm-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-sm-9,\n [dir=\"rtl\"] .offset-sm-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-sm-10,\n [dir=\"rtl\"] .offset-sm-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-sm-11,\n [dir=\"rtl\"] .offset-sm-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n@media (min-width: 768px) {\n .rtl .offset-md-0,\n [dir=\"rtl\"] .offset-md-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-md-1,\n [dir=\"rtl\"] .offset-md-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-2,\n [dir=\"rtl\"] .offset-md-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-md-3,\n [dir=\"rtl\"] .offset-md-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-md-4,\n [dir=\"rtl\"] .offset-md-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-5,\n [dir=\"rtl\"] .offset-md-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-md-6,\n [dir=\"rtl\"] .offset-md-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-md-7,\n [dir=\"rtl\"] .offset-md-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-8,\n [dir=\"rtl\"] .offset-md-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-md-9,\n [dir=\"rtl\"] .offset-md-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-md-10,\n [dir=\"rtl\"] .offset-md-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-md-11,\n [dir=\"rtl\"] .offset-md-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n@media (min-width: 992px) {\n .rtl .offset-lg-0,\n [dir=\"rtl\"] .offset-lg-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-lg-1,\n [dir=\"rtl\"] .offset-lg-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-2,\n [dir=\"rtl\"] .offset-lg-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-lg-3,\n [dir=\"rtl\"] .offset-lg-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-lg-4,\n [dir=\"rtl\"] .offset-lg-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-5,\n [dir=\"rtl\"] .offset-lg-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-lg-6,\n [dir=\"rtl\"] .offset-lg-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-lg-7,\n [dir=\"rtl\"] .offset-lg-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-8,\n [dir=\"rtl\"] .offset-lg-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-lg-9,\n [dir=\"rtl\"] .offset-lg-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-lg-10,\n [dir=\"rtl\"] .offset-lg-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-lg-11,\n [dir=\"rtl\"] .offset-lg-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n@media (min-width: 1200px) {\n .rtl .offset-xl-0,\n [dir=\"rtl\"] .offset-xl-0 {\n margin-right: 0;\n margin-left: 0;\n }\n .rtl .offset-xl-1,\n [dir=\"rtl\"] .offset-xl-1 {\n margin-right: 8.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-2,\n [dir=\"rtl\"] .offset-xl-2 {\n margin-right: 16.666667%;\n margin-left: 0;\n }\n .rtl .offset-xl-3,\n [dir=\"rtl\"] .offset-xl-3 {\n margin-right: 25%;\n margin-left: 0;\n }\n .rtl .offset-xl-4,\n [dir=\"rtl\"] .offset-xl-4 {\n margin-right: 33.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-5,\n [dir=\"rtl\"] .offset-xl-5 {\n margin-right: 41.666667%;\n margin-left: 0;\n }\n .rtl .offset-xl-6,\n [dir=\"rtl\"] .offset-xl-6 {\n margin-right: 50%;\n margin-left: 0;\n }\n .rtl .offset-xl-7,\n [dir=\"rtl\"] .offset-xl-7 {\n margin-right: 58.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-8,\n [dir=\"rtl\"] .offset-xl-8 {\n margin-right: 66.666667%;\n margin-left: 0;\n }\n .rtl .offset-xl-9,\n [dir=\"rtl\"] .offset-xl-9 {\n margin-right: 75%;\n margin-left: 0;\n }\n .rtl .offset-xl-10,\n [dir=\"rtl\"] .offset-xl-10 {\n margin-right: 83.333333%;\n margin-left: 0;\n }\n .rtl .offset-xl-11,\n [dir=\"rtl\"] .offset-xl-11 {\n margin-right: 91.666667%;\n margin-left: 0;\n }\n}\n\n.rtl .mr-0,\n[dir=\"rtl\"] .mr-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.rtl .ml-0,\n[dir=\"rtl\"] .ml-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.rtl mx-0,\n[dir=\"rtl\"] mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.rtl .mr-1,\n[dir=\"rtl\"] .mr-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n}\n\n.rtl .ml-1,\n[dir=\"rtl\"] .ml-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n}\n\n.rtl mx-1,\n[dir=\"rtl\"] mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.rtl .mr-2,\n[dir=\"rtl\"] .mr-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n}\n\n.rtl .ml-2,\n[dir=\"rtl\"] .ml-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n}\n\n.rtl mx-2,\n[dir=\"rtl\"] mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.rtl .mr-3,\n[dir=\"rtl\"] .mr-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n}\n\n.rtl .ml-3,\n[dir=\"rtl\"] .ml-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n}\n\n.rtl mx-3,\n[dir=\"rtl\"] mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.rtl .mr-4,\n[dir=\"rtl\"] .mr-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n}\n\n.rtl .ml-4,\n[dir=\"rtl\"] .ml-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n}\n\n.rtl mx-4,\n[dir=\"rtl\"] mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.rtl .mr-5,\n[dir=\"rtl\"] .mr-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n}\n\n.rtl .ml-5,\n[dir=\"rtl\"] .ml-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n}\n\n.rtl mx-5,\n[dir=\"rtl\"] mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.rtl .pr-0,\n[dir=\"rtl\"] .pr-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.rtl .pl-0,\n[dir=\"rtl\"] .pl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.rtl px-0,\n[dir=\"rtl\"] px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.rtl .pr-1,\n[dir=\"rtl\"] .pr-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n}\n\n.rtl .pl-1,\n[dir=\"rtl\"] .pl-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n}\n\n.rtl px-1,\n[dir=\"rtl\"] px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.rtl .pr-2,\n[dir=\"rtl\"] .pr-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n}\n\n.rtl .pl-2,\n[dir=\"rtl\"] .pl-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n}\n\n.rtl px-2,\n[dir=\"rtl\"] px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.rtl .pr-3,\n[dir=\"rtl\"] .pr-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n}\n\n.rtl .pl-3,\n[dir=\"rtl\"] .pl-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n}\n\n.rtl px-3,\n[dir=\"rtl\"] px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.rtl .pr-4,\n[dir=\"rtl\"] .pr-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n}\n\n.rtl .pl-4,\n[dir=\"rtl\"] .pl-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n}\n\n.rtl px-4,\n[dir=\"rtl\"] px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.rtl .pr-5,\n[dir=\"rtl\"] .pr-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n}\n\n.rtl .pl-5,\n[dir=\"rtl\"] .pl-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n}\n\n.rtl px-5,\n[dir=\"rtl\"] px-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.rtl .mr-auto,\n[dir=\"rtl\"] .mr-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n}\n\n.rtl .ml-auto,\n[dir=\"rtl\"] .ml-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n}\n\n.rtl .mx-auto,\n[dir=\"rtl\"] .mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n .rtl .mr-sm-0,\n [dir=\"rtl\"] .mr-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-sm-0,\n [dir=\"rtl\"] .ml-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-sm-0,\n [dir=\"rtl\"] mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-sm-1,\n [dir=\"rtl\"] .mr-sm-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-sm-1,\n [dir=\"rtl\"] .ml-sm-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-sm-1,\n [dir=\"rtl\"] mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-sm-2,\n [dir=\"rtl\"] .mr-sm-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-sm-2,\n [dir=\"rtl\"] .ml-sm-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-sm-2,\n [dir=\"rtl\"] mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-sm-3,\n [dir=\"rtl\"] .mr-sm-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-sm-3,\n [dir=\"rtl\"] .ml-sm-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-sm-3,\n [dir=\"rtl\"] mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-sm-4,\n [dir=\"rtl\"] .mr-sm-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-sm-4,\n [dir=\"rtl\"] .ml-sm-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-sm-4,\n [dir=\"rtl\"] mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-sm-5,\n [dir=\"rtl\"] .mr-sm-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-sm-5,\n [dir=\"rtl\"] .ml-sm-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-sm-5,\n [dir=\"rtl\"] mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-sm-0,\n [dir=\"rtl\"] .pr-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-sm-0,\n [dir=\"rtl\"] .pl-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-sm-0,\n [dir=\"rtl\"] px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-sm-1,\n [dir=\"rtl\"] .pr-sm-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-sm-1,\n [dir=\"rtl\"] .pl-sm-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-sm-1,\n [dir=\"rtl\"] px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-sm-2,\n [dir=\"rtl\"] .pr-sm-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-sm-2,\n [dir=\"rtl\"] .pl-sm-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-sm-2,\n [dir=\"rtl\"] px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-sm-3,\n [dir=\"rtl\"] .pr-sm-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-sm-3,\n [dir=\"rtl\"] .pl-sm-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-sm-3,\n [dir=\"rtl\"] px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-sm-4,\n [dir=\"rtl\"] .pr-sm-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-sm-4,\n [dir=\"rtl\"] .pl-sm-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-sm-4,\n [dir=\"rtl\"] px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-sm-5,\n [dir=\"rtl\"] .pr-sm-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-sm-5,\n [dir=\"rtl\"] .pl-sm-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-sm-5,\n [dir=\"rtl\"] px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-sm-auto,\n [dir=\"rtl\"] .mr-sm-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-sm-auto,\n [dir=\"rtl\"] .ml-sm-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-sm-auto,\n [dir=\"rtl\"] .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 768px) {\n .rtl .mr-md-0,\n [dir=\"rtl\"] .mr-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-md-0,\n [dir=\"rtl\"] .ml-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-md-0,\n [dir=\"rtl\"] mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-md-1,\n [dir=\"rtl\"] .mr-md-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-md-1,\n [dir=\"rtl\"] .ml-md-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-md-1,\n [dir=\"rtl\"] mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-md-2,\n [dir=\"rtl\"] .mr-md-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-md-2,\n [dir=\"rtl\"] .ml-md-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-md-2,\n [dir=\"rtl\"] mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-md-3,\n [dir=\"rtl\"] .mr-md-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-md-3,\n [dir=\"rtl\"] .ml-md-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-md-3,\n [dir=\"rtl\"] mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-md-4,\n [dir=\"rtl\"] .mr-md-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-md-4,\n [dir=\"rtl\"] .ml-md-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-md-4,\n [dir=\"rtl\"] mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-md-5,\n [dir=\"rtl\"] .mr-md-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-md-5,\n [dir=\"rtl\"] .ml-md-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-md-5,\n [dir=\"rtl\"] mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-md-0,\n [dir=\"rtl\"] .pr-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-md-0,\n [dir=\"rtl\"] .pl-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-md-0,\n [dir=\"rtl\"] px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-md-1,\n [dir=\"rtl\"] .pr-md-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-md-1,\n [dir=\"rtl\"] .pl-md-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-md-1,\n [dir=\"rtl\"] px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-md-2,\n [dir=\"rtl\"] .pr-md-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-md-2,\n [dir=\"rtl\"] .pl-md-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-md-2,\n [dir=\"rtl\"] px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-md-3,\n [dir=\"rtl\"] .pr-md-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-md-3,\n [dir=\"rtl\"] .pl-md-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-md-3,\n [dir=\"rtl\"] px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-md-4,\n [dir=\"rtl\"] .pr-md-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-md-4,\n [dir=\"rtl\"] .pl-md-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-md-4,\n [dir=\"rtl\"] px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-md-5,\n [dir=\"rtl\"] .pr-md-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-md-5,\n [dir=\"rtl\"] .pl-md-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-md-5,\n [dir=\"rtl\"] px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-md-auto,\n [dir=\"rtl\"] .mr-md-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-md-auto,\n [dir=\"rtl\"] .ml-md-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-md-auto,\n [dir=\"rtl\"] .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 992px) {\n .rtl .mr-lg-0,\n [dir=\"rtl\"] .mr-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-lg-0,\n [dir=\"rtl\"] .ml-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-lg-0,\n [dir=\"rtl\"] mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-lg-1,\n [dir=\"rtl\"] .mr-lg-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-lg-1,\n [dir=\"rtl\"] .ml-lg-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-lg-1,\n [dir=\"rtl\"] mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-lg-2,\n [dir=\"rtl\"] .mr-lg-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-lg-2,\n [dir=\"rtl\"] .ml-lg-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-lg-2,\n [dir=\"rtl\"] mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-lg-3,\n [dir=\"rtl\"] .mr-lg-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-lg-3,\n [dir=\"rtl\"] .ml-lg-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-lg-3,\n [dir=\"rtl\"] mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-lg-4,\n [dir=\"rtl\"] .mr-lg-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-lg-4,\n [dir=\"rtl\"] .ml-lg-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-lg-4,\n [dir=\"rtl\"] mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-lg-5,\n [dir=\"rtl\"] .mr-lg-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-lg-5,\n [dir=\"rtl\"] .ml-lg-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-lg-5,\n [dir=\"rtl\"] mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-lg-0,\n [dir=\"rtl\"] .pr-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-lg-0,\n [dir=\"rtl\"] .pl-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-lg-0,\n [dir=\"rtl\"] px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-lg-1,\n [dir=\"rtl\"] .pr-lg-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-lg-1,\n [dir=\"rtl\"] .pl-lg-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-lg-1,\n [dir=\"rtl\"] px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-lg-2,\n [dir=\"rtl\"] .pr-lg-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-lg-2,\n [dir=\"rtl\"] .pl-lg-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-lg-2,\n [dir=\"rtl\"] px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-lg-3,\n [dir=\"rtl\"] .pr-lg-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-lg-3,\n [dir=\"rtl\"] .pl-lg-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-lg-3,\n [dir=\"rtl\"] px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-lg-4,\n [dir=\"rtl\"] .pr-lg-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-lg-4,\n [dir=\"rtl\"] .pl-lg-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-lg-4,\n [dir=\"rtl\"] px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-lg-5,\n [dir=\"rtl\"] .pr-lg-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-lg-5,\n [dir=\"rtl\"] .pl-lg-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-lg-5,\n [dir=\"rtl\"] px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-lg-auto,\n [dir=\"rtl\"] .mr-lg-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-lg-auto,\n [dir=\"rtl\"] .ml-lg-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-lg-auto,\n [dir=\"rtl\"] .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n@media (min-width: 1200px) {\n .rtl .mr-xl-0,\n [dir=\"rtl\"] .mr-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .rtl .ml-xl-0,\n [dir=\"rtl\"] .ml-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl mx-xl-0,\n [dir=\"rtl\"] mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .rtl .mr-xl-1,\n [dir=\"rtl\"] .mr-xl-1 {\n margin-right: 0 !important;\n margin-left: 0.25rem !important;\n }\n .rtl .ml-xl-1,\n [dir=\"rtl\"] .ml-xl-1 {\n margin-left: 0 !important;\n margin-right: 0.25rem !important;\n }\n .rtl mx-xl-1,\n [dir=\"rtl\"] mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n .rtl .mr-xl-2,\n [dir=\"rtl\"] .mr-xl-2 {\n margin-right: 0 !important;\n margin-left: 0.5rem !important;\n }\n .rtl .ml-xl-2,\n [dir=\"rtl\"] .ml-xl-2 {\n margin-left: 0 !important;\n margin-right: 0.5rem !important;\n }\n .rtl mx-xl-2,\n [dir=\"rtl\"] mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n .rtl .mr-xl-3,\n [dir=\"rtl\"] .mr-xl-3 {\n margin-right: 0 !important;\n margin-left: 1rem !important;\n }\n .rtl .ml-xl-3,\n [dir=\"rtl\"] .ml-xl-3 {\n margin-left: 0 !important;\n margin-right: 1rem !important;\n }\n .rtl mx-xl-3,\n [dir=\"rtl\"] mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n .rtl .mr-xl-4,\n [dir=\"rtl\"] .mr-xl-4 {\n margin-right: 0 !important;\n margin-left: 1.5rem !important;\n }\n .rtl .ml-xl-4,\n [dir=\"rtl\"] .ml-xl-4 {\n margin-left: 0 !important;\n margin-right: 1.5rem !important;\n }\n .rtl mx-xl-4,\n [dir=\"rtl\"] mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n .rtl .mr-xl-5,\n [dir=\"rtl\"] .mr-xl-5 {\n margin-right: 0 !important;\n margin-left: 3rem !important;\n }\n .rtl .ml-xl-5,\n [dir=\"rtl\"] .ml-xl-5 {\n margin-left: 0 !important;\n margin-right: 3rem !important;\n }\n .rtl mx-xl-5,\n [dir=\"rtl\"] mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n .rtl .pr-xl-0,\n [dir=\"rtl\"] .pr-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .rtl .pl-xl-0,\n [dir=\"rtl\"] .pl-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl px-xl-0,\n [dir=\"rtl\"] px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .rtl .pr-xl-1,\n [dir=\"rtl\"] .pr-xl-1 {\n padding-right: 0 !important;\n padding-left: 0.25rem !important;\n }\n .rtl .pl-xl-1,\n [dir=\"rtl\"] .pl-xl-1 {\n padding-left: 0 !important;\n padding-right: 0.25rem !important;\n }\n .rtl px-xl-1,\n [dir=\"rtl\"] px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n .rtl .pr-xl-2,\n [dir=\"rtl\"] .pr-xl-2 {\n padding-right: 0 !important;\n padding-left: 0.5rem !important;\n }\n .rtl .pl-xl-2,\n [dir=\"rtl\"] .pl-xl-2 {\n padding-left: 0 !important;\n padding-right: 0.5rem !important;\n }\n .rtl px-xl-2,\n [dir=\"rtl\"] px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n .rtl .pr-xl-3,\n [dir=\"rtl\"] .pr-xl-3 {\n padding-right: 0 !important;\n padding-left: 1rem !important;\n }\n .rtl .pl-xl-3,\n [dir=\"rtl\"] .pl-xl-3 {\n padding-left: 0 !important;\n padding-right: 1rem !important;\n }\n .rtl px-xl-3,\n [dir=\"rtl\"] px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n .rtl .pr-xl-4,\n [dir=\"rtl\"] .pr-xl-4 {\n padding-right: 0 !important;\n padding-left: 1.5rem !important;\n }\n .rtl .pl-xl-4,\n [dir=\"rtl\"] .pl-xl-4 {\n padding-left: 0 !important;\n padding-right: 1.5rem !important;\n }\n .rtl px-xl-4,\n [dir=\"rtl\"] px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n .rtl .pr-xl-5,\n [dir=\"rtl\"] .pr-xl-5 {\n padding-right: 0 !important;\n padding-left: 3rem !important;\n }\n .rtl .pl-xl-5,\n [dir=\"rtl\"] .pl-xl-5 {\n padding-left: 0 !important;\n padding-right: 3rem !important;\n }\n .rtl px-xl-5,\n [dir=\"rtl\"] px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n .rtl .mr-xl-auto,\n [dir=\"rtl\"] .mr-xl-auto {\n margin-right: 0 !important;\n margin-left: auto !important;\n }\n .rtl .ml-xl-auto,\n [dir=\"rtl\"] .ml-xl-auto {\n margin-right: auto !important;\n margin-left: 0 !important;\n }\n .rtl .mx-xl-auto,\n [dir=\"rtl\"] .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n}\n\n.rtl .text-right,\n[dir=\"rtl\"] .text-right {\n text-align: left !important;\n}\n\n.rtl .text-left,\n[dir=\"rtl\"] .text-left {\n text-align: right !important;\n}\n\n@media (min-width: 576px) {\n .rtl .text-sm-right,\n [dir=\"rtl\"] .text-sm-right {\n text-align: left !important;\n }\n .rtl .text-sm-left,\n [dir=\"rtl\"] .text-sm-left {\n text-align: right !important;\n }\n}\n\n@media (min-width: 768px) {\n .rtl .text-md-right,\n [dir=\"rtl\"] .text-md-right {\n text-align: left !important;\n }\n .rtl .text-md-left,\n [dir=\"rtl\"] .text-md-left {\n text-align: right !important;\n }\n}\n\n@media (min-width: 992px) {\n .rtl .text-lg-right,\n [dir=\"rtl\"] .text-lg-right {\n text-align: left !important;\n }\n .rtl .text-lg-left,\n [dir=\"rtl\"] .text-lg-left {\n text-align: right !important;\n }\n}\n\n@media (min-width: 1200px) {\n .rtl .text-xl-right,\n [dir=\"rtl\"] .text-xl-right {\n text-align: left !important;\n }\n .rtl .text-xl-left,\n [dir=\"rtl\"] .text-xl-left {\n text-align: right !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-rtl.css.map */",":root {\n // Custom variable values only support SassScript inside `#{}`.\n @each $color, $value in $colors {\n --#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$color}: #{$value};\n }\n\n @each $bp, $value in $grid-breakpoints {\n --breakpoint-#{$bp}: #{$value};\n }\n\n // Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --font-family-sans-serif: #{inspect($font-family-sans-serif)};\n --font-family-monospace: #{inspect($font-family-monospace)};\n}\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n// 2. Change the default font family in all browsers.\n// 3. Correct the line height in all browsers.\n// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.\n// 5. Change the default tap highlight to be completely transparent in iOS.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box; // 1\n}\n\nhtml {\n font-family: sans-serif; // 2\n line-height: 1.15; // 3\n -webkit-text-size-adjust: 100%; // 4\n -webkit-tap-highlight-color: rgba($black, 0); // 5\n}\n\n// Shim for \"new\" HTML5 structural elements to display correctly (IE10, older browsers)\n// TODO: remove in v5\n// stylelint-disable-next-line selector-list-comma-newline-after\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n display: block;\n}\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Set an explicit initial text-align value so that we can later use\n// the `inherit` value on things like `` elements.\n\nbody {\n margin: 0; // 1\n font-family: $font-family-base;\n @include font-size($font-size-base);\n font-weight: $font-weight-base;\n line-height: $line-height-base;\n color: $body-color;\n text-align: left; // 3\n background-color: $body-bg; // 2\n}\n\n// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline\n// on elements that programmatically receive focus but wouldn't normally show a visible\n// focus outline. In general, this would mean that the outline is only applied if the\n// interaction that led to the element receiving programmatic focus was a keyboard interaction,\n// or the browser has somehow determined that the user is primarily a keyboard user and/or\n// wants focus outlines to always be presented.\n//\n// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible\n// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n outline: 0 !important;\n}\n\n\n// Content grouping\n//\n// 1. Add the correct box sizing in Firefox.\n// 2. Show the overflow in Edge and IE.\n\nhr {\n box-sizing: content-box; // 1\n height: 0; // 1\n overflow: visible; // 2\n}\n\n\n//\n// Typography\n//\n\n// Remove top margins from headings\n//\n// By default, `

    `-`

    ` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n// stylelint-disable-next-line selector-list-comma-newline-after\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: $headings-margin-bottom;\n}\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

    `s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Remove the bottom border in Firefox 39-.\n// 5. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-original-title] { // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n border-bottom: 0; // 4\n text-decoration-skip-ink: none; // 5\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // Undo browser default\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari\n}\n\nsmall {\n @include font-size(80%); // Add the correct font size in all browsers\n}\n\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n//\n\nsub,\nsup {\n position: relative;\n @include font-size(75%);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n//\n// Links\n//\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n background-color: transparent; // Remove the gray background on active links in IE 10.\n\n @include hover() {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n color: inherit;\n text-decoration: none;\n\n @include hover() {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n//\n// Code\n//\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-monospace;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\npre {\n // Remove browser default top margin\n margin-top: 0;\n // Reset browser default of `1em` to use `rem`s\n margin-bottom: 1rem;\n // Don't allow content to break outside\n overflow: auto;\n // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,\n // making it impossible to interact with the content\n -ms-overflow-style: scrollbar;\n}\n\n\n//\n// Figures\n//\n\nfigure {\n // Apply a consistent margin strategy (matches our type styles).\n margin: 0 0 1rem;\n}\n\n\n//\n// Images and content\n//\n\nimg {\n vertical-align: middle;\n border-style: none; // Remove the border on images inside links in IE 10-.\n}\n\nsvg {\n // Workaround for the SVG overflow bug in IE10/11 is still required.\n // See https://github.com/twbs/bootstrap/issues/26878\n overflow: hidden;\n vertical-align: middle;\n}\n\n\n//\n// Tables\n//\n\ntable {\n border-collapse: collapse; // Prevent double borders\n}\n\ncaption {\n padding-top: $table-cell-padding;\n padding-bottom: $table-cell-padding;\n color: $table-caption-color;\n text-align: left;\n caption-side: bottom;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\n\n//\n// Forms\n//\n\nlabel {\n // Allow labels to use `margin` for spacing.\n display: inline-block;\n margin-bottom: $label-margin-bottom;\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n//\n// Details at https://github.com/twbs/bootstrap/issues/24093\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // Remove the margin in Firefox and Safari\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\nbutton,\ninput {\n overflow: visible; // Show the overflow in Edge\n}\n\nbutton,\nselect {\n text-transform: none; // Remove the inheritance of text transform in Firefox\n}\n\n// Set the cursor for non-`

    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%0Dso|=I1OUj{o3V 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 - - - - -Created by FontForge 20190801 at Thu Jun 18 14:52:21 2020 - By Robert Madole -Copyright (c) Font Awesome - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf b/code/src/Modules/新版JIT或JIS系统服务端/src/WY.NewJit.Web/wwwroot/libs/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf deleted file mode 100644 index 8adeea24eedc0d87282d26536cfd74df4694d970..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204580 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