From b5da0579a2a70e8080deb16e2d684b91c29b8c2f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=83=91=E6=B8=A4=E6=97=AD=5BIrelia=5D?= <366601522@qq.com>
Date: Fri, 10 Nov 2023 21:36:36 +0800
Subject: [PATCH] =?UTF-8?q?=E6=90=AD=E5=BB=BA=20=E5=AD=90=E6=9F=A5?=
=?UTF-8?q?=E8=AF=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../.gitattributes | 1 +
.../WinIn.FasterZ.AuthSiteCenter/.gitignore | 265 +
.../WinIn.FasterZ.AuthSiteCenter/.prettierrc | 5 +
.../WinIn.FasterZ.AuthSiteCenter/NuGet.Config | 5 +
.../WinIn.FasterZ.AuthSiteCenter.sln | 86 +
...nIn.FasterZ.AuthSiteCenter.sln.DotSettings | 23 +
.../WinIn.FasterZ.AuthSiteCenter/common.props | 19 +
...uthSiteCenterApplicationContractsModule.cs | 28 +
.../AuthSiteCenterDtoExtensions.cs | 28 +
...hSiteCenterPermissionDefinitionProvider.cs | 20 +
.../Permissions/AuthSiteCenterPermissions.cs | 9 +
...uthSiteCenter.Application.Contracts.csproj | 25 +
.../AuthSiteCenterAppService.cs | 17 +
...hSiteCenterApplicationAutoMapperProfile.cs | 13 +
.../AuthSiteCenterApplicationModule.cs | 31 +
.../Permissions/AuthenticationFeatures.cs | 41 +
.../Permissions/IAuthenticateResultFeature.cs | 15 +
.../Permissions/PermissionChecker.cs | 168 +
.../Permissions/PermissionGrantCacheItem.cs | 34 +
.../Permissions/PermissionStore.cs | 148 +
.../Permissions/PermissionStoreAppService.cs | 153 +
.../Permissions/ZAuthAppBuilderExtensions.cs | 25 +
.../Permissions/ZAuthenticationMiddleware.cs | 91 +
.../ZRolePermissionValueProvider.cs | 89 +
.../Properties/AssemblyInfo.cs | 2 +
....FasterZ.AuthSiteCenter.Application.csproj | 37 +
.../AuthSiteCenterDbMigratorModule.cs | 14 +
.../DbMigratorHostedService.cs | 51 +
.../Program.cs | 41 +
...n.FasterZ.AuthSiteCenter.DbMigrator.csproj | 45 +
.../appsettings.json | 30 +
.../appsettings.secrets.json | 2 +
.../AuthSiteCenterDomainErrorCodes.cs | 6 +
.../AuthSiteCenterDomainSharedModule.cs | 58 +
...AuthSiteCenterGlobalFeatureConfigurator.cs | 22 +
...thSiteCenterModuleExtensionConfigurator.cs | 73 +
.../Localization/AuthSiteCenter/ar.json | 8 +
.../Localization/AuthSiteCenter/cs.json | 8 +
.../Localization/AuthSiteCenter/de.json | 8 +
.../Localization/AuthSiteCenter/en-GB.json | 8 +
.../Localization/AuthSiteCenter/en.json | 8 +
.../Localization/AuthSiteCenter/es.json | 8 +
.../Localization/AuthSiteCenter/fi.json | 8 +
.../Localization/AuthSiteCenter/fr.json | 8 +
.../Localization/AuthSiteCenter/hi.json | 8 +
.../Localization/AuthSiteCenter/hr.json | 8 +
.../Localization/AuthSiteCenter/hu.json | 8 +
.../Localization/AuthSiteCenter/is.json | 8 +
.../Localization/AuthSiteCenter/it.json | 8 +
.../Localization/AuthSiteCenter/nl.json | 8 +
.../Localization/AuthSiteCenter/pl-PL.json | 8 +
.../Localization/AuthSiteCenter/pt-BR.json | 8 +
.../Localization/AuthSiteCenter/ro-RO.json | 8 +
.../Localization/AuthSiteCenter/ru.json | 8 +
.../Localization/AuthSiteCenter/sk.json | 8 +
.../Localization/AuthSiteCenter/sl.json | 8 +
.../Localization/AuthSiteCenter/tr.json | 8 +
.../Localization/AuthSiteCenter/vi.json | 8 +
.../Localization/AuthSiteCenter/zh-Hans.json | 8 +
.../Localization/AuthSiteCenter/zh-Hant.json | 8 +
.../Localization/AuthSiteCenterResource.cs | 9 +
.../MultiTenancy/MultiTenancyConsts.cs | 10 +
...asterZ.AuthSiteCenter.Domain.Shared.csproj | 32 +
.../AuthSiteCenterConsts.cs | 8 +
.../AuthSiteCenterDomainModule.cs | 68 +
.../Data/AuthSiteCenterDbMigrationService.cs | 218 +
.../Data/IAuthSiteCenterDbSchemaMigrator.cs | 8 +
.../NullAuthSiteCenterDbSchemaMigrator.cs | 15 +
.../OpenIddictDataSeedContributor.cs | 415 +
.../Properties/AssemblyInfo.cs | 3 +
...AuthSiteCenterSettingDefinitionProvider.cs | 12 +
.../Settings/AuthSiteCenterSettings.cs | 9 +
...WinIn.FasterZ.AuthSiteCenter.Domain.csproj | 28 +
.../AuthSiteCenterDbContext.cs | 86 +
.../AuthSiteCenterDbContextFactory.cs | 33 +
...SiteCenterEfCoreEntityExtensionMappings.cs | 44 +
...AuthSiteCenterEntityFrameworkCoreModule.cs | 54 +
...eworkCoreAuthSiteCenterDbSchemaMigrator.cs | 34 +
.../20230908213846_Initial.Designer.cs | 1870 ++++
.../Migrations/20230908213846_Initial.cs | 1084 +++
.../AuthSiteCenterDbContextModelSnapshot.cs | 1867 ++++
.../Properties/AssemblyInfo.cs | 2 +
....AuthSiteCenter.EntityFrameworkCore.csproj | 31 +
.../AuthSiteCenterHttpApiClientModule.cs | 38 +
...sterZ.AuthSiteCenter.HttpApi.Client.csproj | 29 +
.../AuthSiteCenterHttpApiModule.cs | 41 +
.../Controllers/AuthSiteCenterController.cs | 14 +
.../Models/Test/TestModel.cs | 10 +
...inIn.FasterZ.AuthSiteCenter.HttpApi.csproj | 24 +
.../AuthSiteCenterAutoMapperProfile.cs | 17 +
.../AuthSiteCenterBrandingProvider.cs | 10 +
.../AuthSiteCenterWebAutoMapperProfile.cs | 11 +
.../AuthSiteCenterWebModule.cs | 343 +
.../Components/_ViewImports.cshtml | 4 +
.../Controllers/CustAccountController.cs | 151 +
.../Menus/AuthSiteCenterMenuContributor.cs | 51 +
.../Menus/AuthSiteCenterMenus.cs | 10 +
.../Pages/AuthSiteCenterPageModel.cs | 14 +
.../Pages/Index.cshtml | 187 +
.../Pages/Index.cshtml.cs | 9 +
.../Pages/Index.css | 3 +
.../Pages/Index.js | 3 +
.../Pages/_ViewImports.cshtml | 4 +
.../Program.cs | 56 +
.../Properties/AssemblyInfo.cs | 2 +
.../Properties/launchSettings.json | 27 +
.../Views/_ViewImports.cshtml | 4 +
.../WinIn.FasterZ.AuthSiteCenter.Web.csproj | 68 +
.../abp.resourcemapping.js | 11 +
.../appsettings.Development.json | 2 +
.../appsettings.json | 20 +
.../appsettings.secrets.json | 2 +
.../package-lock.json | 7947 +++++++++++++++++
.../package.json | 8 +
.../serilogsettings.json | 40 +
.../web.config | 18 +
.../wwwroot/global-styles.css | 6 +
.../logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes
.../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes
.../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes
.../images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes
.../WinIn.FasterZ.Job/.gitattributes | 1 +
.../WinIn.FasterZ.Job/.gitignore | 265 +
.../WinIn.FasterZ.Job/.prettierrc | 5 +
.../WinIn.FasterZ.Job/NuGet.Config | 5 +
.../WinIn.FasterZ.Job/WinIn.FasterZ.Job.sln | 102 +
.../WinIn.FasterZ.Job.sln.DotSettings | 23 +
.../WinIn.FasterZ.Job/common.props | 19 +
.../CreateUpdateBaseDto.cs | 8 +
.../AppBase/Filters/Condition.cs | 8 +
.../AppBase/Filters/EnumFilterAction.cs | 62 +
.../AppBase/Filters/EnumFilterLogic.cs | 17 +
.../AppBase/Filters/Filter.cs | 40 +
.../AppBase/Filters/FilterExtensions.cs | 370 +
.../AppBase/ISfsRequest.cs | 12 +
.../AppBase/IZbxBase.cs | 23 +
.../AppBase/SfsRequestInputBase.cs | 12 +
.../AllTableColumnTypeDto.cs | 22 +
.../AppBase/TableColumnTypeDto/ColumnType.cs | 31 +
.../CreateUpdateExportCustomUserSettingDto.cs | 39 +
.../Dtos/ExportCustomUserSettingDto.cs | 37 +
.../ExportCustomUserSettingGetListInput.cs | 40 +
.../IExportCustomUserSettingAppService.cs | 20 +
.../JobApplicationContractsModule.cs | 28 +
.../JobDtoExtensions.cs | 28 +
.../JobPermissionDefinitionProvider.cs | 130 +
.../Permissions/JobPermissions.cs | 229 +
...n.FasterZ.Job.Application.Contracts.csproj | 26 +
.../CheckJob/Dtos/CheckJobDetailDto.cs | 127 +
.../Dtos/CheckJobDetailGetListInput.cs | 148 +
.../Z_Business/CheckJob/Dtos/CheckJobDto.cs | 120 +
.../CheckJob/Dtos/CheckJobGetListInput.cs | 136 +
.../Dtos/CreateUpdateCheckJobDetailDto.cs | 147 +
.../CheckJob/Dtos/CreateUpdateCheckJobDto.cs | 129 +
.../CheckJob/ICheckJobAppService.cs | 20 +
.../CheckJob/ICheckJobDetailAppService.cs | 20 +
.../CountJob/Dtos/CountJobDetailDto.cs | 142 +
.../Dtos/CountJobDetailGetListInput.cs | 166 +
.../Z_Business/CountJob/Dtos/CountJobDto.cs | 151 +
.../CountJob/Dtos/CountJobGetListInput.cs | 173 +
.../Dtos/CreateUpdateCountJobDetailDto.cs | 165 +
.../CountJob/Dtos/CreateUpdateCountJobDto.cs | 166 +
.../CountJob/ICountJobAppService.cs | 20 +
.../CountJob/ICountJobDetailAppService.cs | 20 +
.../Dtos/CreateUpdateDeliverJobDetailDto.cs | 267 +
.../Dtos/CreateUpdateDeliverJobDto.cs | 141 +
.../DeliverJob/Dtos/DeliverJobDetailDto.cs | 227 +
.../Dtos/DeliverJobDetailGetListInput.cs | 268 +
.../DeliverJob/Dtos/DeliverJobDto.cs | 125 +
.../DeliverJob/Dtos/DeliverJobGetListInput.cs | 142 +
.../DeliverJob/IDeliverJobAppService.cs | 20 +
.../DeliverJob/IDeliverJobDetailAppService.cs | 20 +
.../Dtos/CreateUpdateInspectJobDetailDto.cs | 280 +
.../Dtos/CreateUpdateInspectJobDto.cs | 171 +
.../CreateUpdateInspectJobSummaryDetailDto.cs | 278 +
.../InspectJob/Dtos/InspectJobDetailDto.cs | 238 +
.../Dtos/InspectJobDetailGetListInput.cs | 281 +
.../InspectJob/Dtos/InspectJobDto.cs | 149 +
.../InspectJob/Dtos/InspectJobGetListInput.cs | 172 +
.../Dtos/InspectJobSummaryDetailDto.cs | 236 +
.../InspectJobSummaryDetailGetListInput.cs | 279 +
.../InspectJob/IInspectJobAppService.cs | 20 +
.../InspectJob/IInspectJobDetailAppService.cs | 20 +
.../IInspectJobSummaryDetailAppService.cs | 20 +
.../Dtos/CreateUpdateIssueJobDetailDto.cs | 268 +
.../IssueJob/Dtos/CreateUpdateIssueJobDto.cs | 141 +
.../IssueJob/Dtos/IssueJobDetailDto.cs | 228 +
.../Dtos/IssueJobDetailGetListInput.cs | 269 +
.../Z_Business/IssueJob/Dtos/IssueJobDto.cs | 124 +
.../IssueJob/Dtos/IssueJobGetListInput.cs | 142 +
.../IssueJob/IIssueJobAppService.cs | 20 +
.../IssueJob/IIssueJobDetailAppService.cs | 20 +
.../CreateUpdateJisDeliverJobDetailDto.cs | 69 +
.../Dtos/CreateUpdateJisDeliverJobDto.cs | 177 +
.../Dtos/JisDeliverJobDetailDto.cs | 62 +
.../Dtos/JisDeliverJobDetailGetListInput.cs | 70 +
.../JisDeliverJob/Dtos/JisDeliverJobDto.cs | 155 +
.../Dtos/JisDeliverJobGetListInput.cs | 178 +
.../JisDeliverJob/IJisDeliverJobAppService.cs | 20 +
.../IJisDeliverJobDetailAppService.cs | 20 +
.../CreateUpdateProductReceiveJobDetailDto.cs | 201 +
.../Dtos/CreateUpdateProductReceiveJobDto.cs | 141 +
.../Dtos/ProductReceiveJobDetailDto.cs | 172 +
.../ProductReceiveJobDetailGetListInput.cs | 202 +
.../Dtos/ProductReceiveJobDto.cs | 124 +
.../Dtos/ProductReceiveJobGetListInput.cs | 142 +
.../IProductReceiveJobAppService.cs | 20 +
.../IProductReceiveJobDetailAppService.cs | 20 +
...CreateUpdatePurchaseReceiptJobDetailDto.cs | 213 +
.../Dtos/CreateUpdatePurchaseReceiptJobDto.cs | 178 +
.../Dtos/PurchaseReceiptJobDetailDto.cs | 182 +
.../PurchaseReceiptJobDetailGetListInput.cs | 214 +
.../Dtos/PurchaseReceiptJobDto.cs | 155 +
.../Dtos/PurchaseReceiptJobGetListInput.cs | 179 +
.../IPurchaseReceiptJobAppService.cs | 20 +
.../IPurchaseReceiptJobDetailAppService.cs | 20 +
.../CreateUpdatePurchaseReturnJobDetailDto.cs | 201 +
.../Dtos/CreateUpdatePurchaseReturnJobDto.cs | 153 +
.../Dtos/PurchaseReturnJobDetailDto.cs | 172 +
.../PurchaseReturnJobDetailGetListInput.cs | 202 +
.../Dtos/PurchaseReturnJobDto.cs | 134 +
.../Dtos/PurchaseReturnJobGetListInput.cs | 154 +
.../IPurchaseReturnJobAppService.cs | 20 +
.../IPurchaseReturnJobDetailAppService.cs | 20 +
.../Dtos/CreateUpdatePutawayJobDetailDto.cs | 207 +
.../Dtos/CreateUpdatePutawayJobDto.cs | 177 +
.../PutawayJob/Dtos/PutawayJobDetailDto.cs | 177 +
.../Dtos/PutawayJobDetailGetListInput.cs | 208 +
.../PutawayJob/Dtos/PutawayJobDto.cs | 154 +
.../PutawayJob/Dtos/PutawayJobGetListInput.cs | 178 +
.../PutawayJob/IPutawayJobAppService.cs | 20 +
.../PutawayJob/IPutawayJobDetailAppService.cs | 20 +
.../Extensions/ExpressionExtensions.cs | 26 +
.../Extensions/ObjectExpressionExtensions.cs | 53 +
.../Extensions/ObjectMapperExtensions.cs | 118 +
.../AppBase/Extensions/StringExtensions.cs | 16 +
.../AppBase/ZbxBase.cs | 713 ++
.../ExportCustomUserSettingAppService.cs | 46 +
.../JobAppService.cs | 17 +
.../JobApplicationAutoMapperProfile.cs | 79 +
.../JobApplicationModule.cs | 31 +
.../Properties/AssemblyInfo.cs | 2 +
.../WinIn.FasterZ.Job.Application.csproj | 29 +
.../Z_Business/CheckJob/CheckJobAppService.cs | 57 +
.../CheckJob/CheckJobDetailAppService.cs | 60 +
.../Z_Business/CountJob/CountJobAppService.cs | 63 +
.../CountJob/CountJobDetailAppService.cs | 63 +
.../DeliverJob/DeliverJobAppService.cs | 59 +
.../DeliverJob/DeliverJobDetailAppService.cs | 80 +
.../InspectJob/InspectJobAppService.cs | 64 +
.../InspectJob/InspectJobDetailAppService.cs | 82 +
.../InspectJobSummaryDetailAppService.cs | 80 +
.../Z_Business/IssueJob/IssueJobAppService.cs | 59 +
.../IssueJob/IssueJobDetailAppService.cs | 80 +
.../JisDeliverJob/JisDeliverJobAppService.cs | 65 +
.../JisDeliverJobDetailAppService.cs | 47 +
.../ProductReceiveJobAppService.cs | 59 +
.../ProductReceiveJobDetailAppService.cs | 69 +
.../PurchaseReceiptJobAppService.cs | 65 +
.../PurchaseReceiptJobDetailAppService.cs | 71 +
.../PurchaseReturnJobAppService.cs | 61 +
.../PurchaseReturnJobDetailAppService.cs | 69 +
.../PutawayJob/PutawayJobAppService.cs | 65 +
.../PutawayJob/PutawayJobDetailAppService.cs | 70 +
.../JobAuthServerModule.cs | 194 +
.../JobBrandingProvider.cs | 10 +
.../Pages/Index.cshtml | 115 +
.../Pages/Index.cshtml.cs | 35 +
.../Pages/_ViewImports.cshtml | 4 +
.../WinIn.FasterZ.Job.AuthServer/Program.cs | 56 +
.../Properties/launchSettings.json | 27 +
.../WinIn.FasterZ.Job.AuthServer.csproj | 56 +
.../abp.resourcemapping.js | 11 +
.../appsettings.Development.json | 2 +
.../appsettings.json | 17 +
.../appsettings.secrets.json | 2 +
.../package-lock.json | 7947 +++++++++++++++++
.../WinIn.FasterZ.Job.AuthServer/package.json | 8 +
.../WinIn.FasterZ.Job.AuthServer/web.config | 18 +
.../wwwroot/global-styles.css | 6 +
.../logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes
.../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes
.../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes
.../images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes
.../DbMigratorHostedService.cs | 51 +
.../JobDbMigratorModule.cs | 21 +
.../WinIn.FasterZ.Job.DbMigrator/Program.cs | 41 +
.../WinIn.FasterZ.Job.DbMigrator.csproj | 46 +
.../appsettings.json | 30 +
.../appsettings.secrets.json | 2 +
.../Enums/Auth/MenuStatus.cs | 15 +
.../Enums/Basedata/EnumDistributionType.cs | 34 +
.../Enums/Basedata/EnumItemStatus.cs | 42 +
.../Enums/Basedata/EnumLocationType.cs | 72 +
.../Enums/Basedata/EnumPlannedSplitRule.cs | 27 +
.../Enums/Basedata/EnumStoreRelationType.cs | 21 +
.../Enums/Basedata/EnumStoreType.cs | 16 +
.../Enums/Basedata/EnumTruncType.cs | 27 +
.../Enums/Basedata/EnumValidityUnit.cs | 37 +
.../Enums/Basedata/EnumWorkOrderType.cs | 19 +
.../Enums/DataExchange/EnumL7PartsState.cs | 26 +
.../Enums/DataExchange/EnumMesInfoType.cs | 28 +
.../Enums/EnumFileType.cs | 14 +
.../Enums/EnumImportMethod.cs | 9 +
.../Enums/EnumImportReportStatus.cs | 24 +
.../Enums/EnumItemManageType.cs | 17 +
.../Enums/Enum_ExportCustomUserSetting.cs | 14 +
.../FileStorage/EnumDataExportDeleteRange.cs | 31 +
.../FileStorage/EnumDataImportDeleteRange.cs | 31 +
.../FileStorage/EnumDataImportExportStatus.cs | 43 +
.../Enums/Inventory/EnumBindType.cs | 29 +
.../Enums/Inventory/EnumBoxLabelSuffix.cs | 19 +
.../Enums/Inventory/EnumContainerStatus.cs | 33 +
.../Enums/Inventory/EnumInventoryStatus.cs | 52 +
.../Enums/Inventory/EnumSourceType.cs | 57 +
.../Enums/Inventory/EnumTransInOut.cs | 14 +
.../Enums/Inventory/EnumTransSubType.cs | 132 +
.../Enums/Inventory/EnumTransType.cs | 144 +
.../Enums/Inventory/EnumTransferType.cs | 36 +
.../Enums/Job/EnumCountStage.cs | 32 +
.../Enums/Job/EnumInspectNextAction.cs | 29 +
.../Enums/Job/EnumJobStatus.cs | 35 +
.../Enums/Job/EnumJobType.cs | 60 +
.../Enums/Job/EnumLocationStatus.cs | 32 +
.../Enums/Job/EnumPutawayJobType.cs | 22 +
.../Enums/Message/EnumMessageCategory.cs | 26 +
.../Enums/Message/EnumMessageLevel.cs | 42 +
.../Enums/Message/EnumMessageStats.cs | 44 +
.../Enums/Message/EnumSendToType.cs | 23 +
.../Enums/Store/EnumAdjustType.cs | 25 +
.../Enums/Store/EnumArriveNoticeStatus.cs | 34 +
.../Enums/Store/EnumCheckDetailStage.cs | 33 +
.../Enums/Store/EnumCheckDetailStatus.cs | 46 +
.../Enums/Store/EnumCheckPlanStatus.cs | 46 +
.../Enums/Store/EnumCheckStage.cs | 42 +
.../Store/EnumContainerBusinessStatus.cs | 43 +
.../Enums/Store/EnumCountCreateType.cs | 28 +
.../Enums/Store/EnumCountDoingType.cs | 40 +
.../Enums/Store/EnumCountMethod.cs | 32 +
.../Enums/Store/EnumCountPlanCompleteType.cs | 30 +
.../Enums/Store/EnumCountType.cs | 28 +
.../Enums/Store/EnumDeliverPlanStatus.cs | 55 +
.../Enums/Store/EnumDeliverRequestStatus.cs | 58 +
.../Enums/Store/EnumInspectType.cs | 40 +
.../Enums/Store/EnumOutJisDeliverStatus.cs | 31 +
.../Store/EnumPreparationPlanLineStatus.cs | 28 +
.../Enums/Store/EnumPreparationPlanStatus.cs | 59 +
.../Enums/Store/EnumProductionPlanStatus.cs | 58 +
.../Store/EnumPurchaseReceiptNoteStatus.cs | 28 +
.../Store/EnumPurchaseReceiptNoteType.cs | 28 +
.../Store/EnumPurchaseReturnNoteStatus.cs | 28 +
.../Enums/Store/EnumReceiptType.cs | 41 +
.../Enums/Store/EnumRequestStatus.cs | 59 +
.../Enums/Store/EnumReworkNoteStatus.cs | 28 +
.../Enums/Store/EnumScrapOutNoteStatus.cs | 28 +
.../Enums/Store/EnumStatus.cs | 23 +
.../Enums/Store/EnumSupplierAsnStatus.cs | 47 +
.../Store/EnumSupplierEvaluationReason.cs | 62 +
.../Enums/Store/EnumUnplannedIssueType.cs | 13 +
.../Enums/Store/EnumUnplannedReasonCode.cs | 15 +
.../Enums/Store/EnumUnplannedReceiptType.cs | 13 +
.../Enums/Store/EnumWorkOrderStatus.cs | 28 +
.../Enums/Store/EnumWorkOrderType.cs | 28 +
.../JobDomainErrorCodes.cs | 6 +
.../JobDomainSharedModule.cs | 58 +
.../JobGlobalFeatureConfigurator.cs | 22 +
.../JobModuleExtensionConfigurator.cs | 73 +
.../Localization/Job/ar.json | 772 ++
.../Localization/Job/cs.json | 8 +
.../Localization/Job/de.json | 8 +
.../Localization/Job/en-GB.json | 8 +
.../Localization/Job/en.json | 8 +
.../Localization/Job/es.json | 8 +
.../Localization/Job/fi.json | 8 +
.../Localization/Job/fr.json | 8 +
.../Localization/Job/hi.json | 8 +
.../Localization/Job/hr.json | 8 +
.../Localization/Job/hu.json | 8 +
.../Localization/Job/is.json | 8 +
.../Localization/Job/it.json | 8 +
.../Localization/Job/nl.json | 8 +
.../Localization/Job/pl-PL.json | 8 +
.../Localization/Job/pt-BR.json | 8 +
.../Localization/Job/ro-RO.json | 8 +
.../Localization/Job/ru.json | 8 +
.../Localization/Job/sk.json | 8 +
.../Localization/Job/sl.json | 8 +
.../Localization/Job/tr.json | 8 +
.../Localization/Job/vi.json | 8 +
.../Localization/Job/zh-Hans.json | 773 ++
.../Localization/Job/zh-Hant.json | 8 +
.../Localization/JobResource.cs | 9 +
.../MultiTenancy/MultiTenancyConsts.cs | 10 +
.../WinIn.FasterZ.Job.Domain.Shared.csproj | 32 +
.../ExportCustomUserSetting.cs | 42 +
.../IExportCustomUserSettingRepository.cs | 11 +
.../Data/IJobDbSchemaMigrator.cs | 8 +
.../Data/JobDbMigrationService.cs | 218 +
.../Data/NullJobDbSchemaMigrator.cs | 15 +
.../src/WinIn.FasterZ.Job.Domain/JobConsts.cs | 10 +
.../JobDomainModule.cs | 68 +
.../OpenIddictDataSeedContributor.cs | 415 +
.../Properties/AssemblyInfo.cs | 3 +
.../Settings/JobSettingDefinitionProvider.cs | 12 +
.../Settings/JobSettings.cs | 9 +
.../WinIn.FasterZ.Job.Domain.csproj | 28 +
.../Z_Business/CheckJob/CheckJob.cs | 32 +
.../Z_Business/CheckJob/CheckJobDetail.cs | 32 +
.../CheckJob/ICheckJobDetailRepository.cs | 11 +
.../CheckJob/ICheckJobRepository.cs | 11 +
.../Z_Business/CountJob/CountJob.cs | 39 +
.../Z_Business/CountJob/CountJobDetail.cs | 35 +
.../CountJob/ICountJobDetailRepository.cs | 11 +
.../CountJob/ICountJobRepository.cs | 11 +
.../Z_Business/DeliverJob/DeliverJob.cs | 35 +
.../Z_Business/DeliverJob/DeliverJobDetail.cs | 52 +
.../DeliverJob/IDeliverJobDetailRepository.cs | 11 +
.../DeliverJob/IDeliverJobRepository.cs | 11 +
.../InspectJob/IInspectJobDetailRepository.cs | 11 +
.../InspectJob/IInspectJobRepository.cs | 11 +
.../IInspectJobSummaryDetailRepository.cs | 11 +
.../Z_Business/InspectJob/InspectJob.cs | 39 +
.../Z_Business/InspectJob/InspectJobDetail.cs | 55 +
.../InspectJob/InspectJobSummaryDetail.cs | 55 +
.../IssueJob/IIssueJobDetailRepository.cs | 11 +
.../IssueJob/IIssueJobRepository.cs | 11 +
.../Z_Business/IssueJob/IssueJob.cs | 34 +
.../Z_Business/IssueJob/IssueJobDetail.cs | 53 +
.../IJisDeliverJobDetailRepository.cs | 11 +
.../JisDeliverJob/IJisDeliverJobRepository.cs | 11 +
.../Z_Business/JisDeliverJob/JisDeliverJob.cs | 40 +
.../JisDeliverJob/JisDeliverJobDetail.cs | 19 +
.../IProductReceiveJobDetailRepository.cs | 11 +
.../IProductReceiveJobRepository.cs | 11 +
.../ProductReceiveJob/ProductReceiveJob.cs | 34 +
.../ProductReceiveJobDetail.cs | 41 +
.../IPurchaseReceiptJobDetailRepository.cs | 11 +
.../IPurchaseReceiptJobRepository.cs | 11 +
.../PurchaseReceiptJob/PurchaseReceiptJob.cs | 41 +
.../PurchaseReceiptJobDetail.cs | 43 +
.../IPurchaseReturnJobDetailRepository.cs | 11 +
.../IPurchaseReturnJobRepository.cs | 11 +
.../PurchaseReturnJob/PurchaseReturnJob.cs | 36 +
.../PurchaseReturnJobDetail.cs | 41 +
.../PutawayJob/IPutawayJobDetailRepository.cs | 11 +
.../PutawayJob/IPutawayJobRepository.cs | 11 +
.../Z_Business/PutawayJob/PutawayJob.cs | 40 +
.../Z_Business/PutawayJob/PutawayJobDetail.cs | 42 +
...stomUserSettingEfCoreQuerableExtensions.cs | 22 +
.../ExportCustomUserSettingRepository.cs | 20 +
.../EntityFrameworkCoreJobDbSchemaMigrator.cs | 34 +
.../EntityFrameworkCore/JobDbContext.cs | 407 +
.../JobDbContextFactory.cs | 33 +
.../JobEfCoreEntityExtensionMappings.cs | 44 +
.../JobEntityFrameworkCoreModule.cs | 87 +
.../20230809025921_Initial.Designer.cs | 1870 ++++
.../Migrations/20230809025921_Initial.cs | 1084 +++
.../Migrations/JobDbContextModelSnapshot.cs | 1867 ++++
.../Properties/AssemblyInfo.cs | 2 +
...nIn.FasterZ.Job.EntityFrameworkCore.csproj | 31 +
.../CheckJobDetailEfCoreQuerableExtensions.cs | 22 +
.../CheckJob/CheckJobDetailRepository.cs | 20 +
.../CheckJobEfCoreQuerableExtensions.cs | 22 +
.../Z_Business/CheckJob/CheckJobRepository.cs | 20 +
.../CountJobDetailEfCoreQuerableExtensions.cs | 22 +
.../CountJob/CountJobDetailRepository.cs | 20 +
.../CountJobEfCoreQuerableExtensions.cs | 22 +
.../Z_Business/CountJob/CountJobRepository.cs | 20 +
...eliverJobDetailEfCoreQuerableExtensions.cs | 22 +
.../DeliverJob/DeliverJobDetailRepository.cs | 20 +
.../DeliverJobEfCoreQuerableExtensions.cs | 22 +
.../DeliverJob/DeliverJobRepository.cs | 20 +
...nspectJobDetailEfCoreQuerableExtensions.cs | 22 +
.../InspectJob/InspectJobDetailRepository.cs | 20 +
.../InspectJobEfCoreQuerableExtensions.cs | 22 +
.../InspectJob/InspectJobRepository.cs | 20 +
...obSummaryDetailEfCoreQuerableExtensions.cs | 22 +
.../InspectJobSummaryDetailRepository.cs | 20 +
.../IssueJobDetailEfCoreQuerableExtensions.cs | 22 +
.../IssueJob/IssueJobDetailRepository.cs | 20 +
.../IssueJobEfCoreQuerableExtensions.cs | 22 +
.../Z_Business/IssueJob/IssueJobRepository.cs | 20 +
...eliverJobDetailEfCoreQuerableExtensions.cs | 22 +
.../JisDeliverJobDetailRepository.cs | 20 +
.../JisDeliverJobEfCoreQuerableExtensions.cs | 22 +
.../JisDeliverJob/JisDeliverJobRepository.cs | 20 +
...eceiveJobDetailEfCoreQuerableExtensions.cs | 22 +
.../ProductReceiveJobDetailRepository.cs | 20 +
...oductReceiveJobEfCoreQuerableExtensions.cs | 22 +
.../ProductReceiveJobRepository.cs | 20 +
...eceiptJobDetailEfCoreQuerableExtensions.cs | 22 +
.../PurchaseReceiptJobDetailRepository.cs | 20 +
...chaseReceiptJobEfCoreQuerableExtensions.cs | 22 +
.../PurchaseReceiptJobRepository.cs | 20 +
...ReturnJobDetailEfCoreQuerableExtensions.cs | 22 +
.../PurchaseReturnJobDetailRepository.cs | 20 +
...rchaseReturnJobEfCoreQuerableExtensions.cs | 22 +
.../PurchaseReturnJobRepository.cs | 20 +
...utawayJobDetailEfCoreQuerableExtensions.cs | 22 +
.../PutawayJob/PutawayJobDetailRepository.cs | 20 +
.../PutawayJobEfCoreQuerableExtensions.cs | 22 +
.../PutawayJob/PutawayJobRepository.cs | 20 +
.../JobHttpApiClientModule.cs | 38 +
.../WinIn.FasterZ.Job.HttpApi.Client.csproj | 29 +
.../Controllers/HomeController.cs | 12 +
.../JobHttpApiHostModule.cs | 240 +
.../WinIn.FasterZ.Job.HttpApi.Host/Program.cs | 53 +
.../Properties/launchSettings.json | 12 +
.../WinIn.FasterZ.Job.HttpApi.Host.csproj | 40 +
.../appsettings.Development.json | 2 +
.../appsettings.json | 26 +
.../appsettings.secrets.json | 2 +
.../serilogsettings.json | 40 +
.../WinIn.FasterZ.Job.HttpApi.Host/web.config | 18 +
.../Controllers/JobController.cs | 14 +
.../JobHttpApiModule.cs | 41 +
.../Models/Test/TestModel.cs | 10 +
.../WinIn.FasterZ.Job.HttpApi.csproj | 24 +
.../Toolbar/LoginLink/Default.cshtml | 4 +
.../LoginLink/LoginLinkViewComponent.cs | 12 +
.../Components/_ViewImports.cshtml | 4 +
.../Controllers/AccountController.cs | 8 +
.../JobBrandingProvider.cs | 10 +
.../JobWebAutoMapperProfile.cs | 11 +
.../src/WinIn.FasterZ.Job.Web/JobWebModule.cs | 277 +
.../Menus/JobMenuContributor.cs | 81 +
.../WinIn.FasterZ.Job.Web/Menus/JobMenus.cs | 10 +
.../Menus/JobToolbarContributor.cs | 25 +
.../WinIn.FasterZ.Job.Web/Pages/Index.cshtml | 187 +
.../Pages/Index.cshtml.cs | 17 +
.../src/WinIn.FasterZ.Job.Web/Pages/Index.css | 3 +
.../src/WinIn.FasterZ.Job.Web/Pages/Index.js | 3 +
.../Pages/JobPageModel.cs | 12 +
.../Pages/_ViewImports.cshtml | 4 +
.../src/WinIn.FasterZ.Job.Web/Program.cs | 56 +
.../Properties/AssemblyInfo.cs | 2 +
.../Properties/launchSettings.json | 27 +
.../Views/_ViewImports.cshtml | 4 +
.../WinIn.FasterZ.Job.Web.csproj | 62 +
.../abp.resourcemapping.js | 11 +
.../appsettings.Development.json | 3 +
.../WinIn.FasterZ.Job.Web/appsettings.json | 22 +
.../appsettings.secrets.json | 2 +
.../WinIn.FasterZ.Job.Web/package-lock.json | 7947 +++++++++++++++++
.../src/WinIn.FasterZ.Job.Web/package.json | 8 +
.../src/WinIn.FasterZ.Job.Web/web.config | 18 +
.../wwwroot/global-styles.css | 6 +
.../logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes
.../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes
.../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes
.../images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes
.../JobApplicationTestBase.cs | 6 +
.../JobApplicationTestModule.cs | 12 +
.../Samples/SampleAppServiceTests.cs | 32 +
...WinIn.FasterZ.Job.Application.Tests.csproj | 20 +
.../JobDomainTestBase.cs | 6 +
.../JobDomainTestModule.cs | 12 +
.../Samples/SampleDomainTests.cs | 44 +
.../WinIn.FasterZ.Job.Domain.Tests.csproj | 19 +
.../JobEntityFrameworkCoreTestBase.cs | 8 +
.../JobEntityFrameworkCoreTestModule.cs | 76 +
.../Samples/SampleRepositoryTests.cs | 43 +
...sterZ.Job.EntityFrameworkCore.Tests.csproj | 21 +
.../ClientDemoService.cs | 25 +
.../ConsoleTestAppHostedService.cs | 40 +
.../JobConsoleApiClientModule.cs | 30 +
.../Program.cs | 22 +
...Z.Job.HttpApi.Client.ConsoleTestApp.csproj | 33 +
.../appsettings.json | 17 +
.../appsettings.secrets.json | 2 +
.../WinIn.FasterZ.Job.TestBase/JobTestBase.cs | 60 +
.../JobTestBaseModule.cs | 52 +
.../JobTestDataSeedContributor.cs | 15 +
.../Security/FakeCurrentPrincipalAccessor.cs | 25 +
.../WinIn.FasterZ.Job.TestBase.csproj | 31 +
.../WinIn.FasterZ.Wms/.gitattributes | 1 +
.../WinIn.FasterZ.Wms/.gitignore | 265 +
.../WinIn.FasterZ.Wms/.prettierrc | 5 +
.../WinIn.FasterZ.Wms/NuGet.Config | 5 +
.../WinIn.FasterZ.Wms/WinIn.FasterZ.Wms.sln | 102 +
.../WinIn.FasterZ.Wms.sln.DotSettings | 23 +
.../WinIn.FasterZ.Wms/common.props | 19 +
.../WmsPermissionDefinitionProvider.cs | 20 +
.../Permissions/WmsPermissions.cs | 9 +
...n.FasterZ.Wms.Application.Contracts.csproj | 25 +
.../WmsApplicationContractsModule.cs | 28 +
.../WmsDtoExtensions.cs | 28 +
.../Properties/AssemblyInfo.cs | 2 +
.../WinIn.FasterZ.Wms.Application.csproj | 25 +
.../WmsAppService.cs | 17 +
.../WmsApplicationAutoMapperProfile.cs | 13 +
.../WmsApplicationModule.cs | 31 +
.../Pages/Index.cshtml | 115 +
.../Pages/Index.cshtml.cs | 35 +
.../Pages/_ViewImports.cshtml | 4 +
.../WinIn.FasterZ.Wms.AuthServer/Program.cs | 56 +
.../Properties/launchSettings.json | 27 +
.../WinIn.FasterZ.Wms.AuthServer.csproj | 56 +
.../WmsAuthServerModule.cs | 194 +
.../WmsBrandingProvider.cs | 10 +
.../abp.resourcemapping.js | 11 +
.../appsettings.Development.json | 2 +
.../appsettings.json | 17 +
.../appsettings.secrets.json | 2 +
.../package-lock.json | 7565 ++++++++++++++++
.../WinIn.FasterZ.Wms.AuthServer/package.json | 8 +
.../WinIn.FasterZ.Wms.AuthServer/web.config | 18 +
.../wwwroot/global-styles.css | 6 +
.../logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes
.../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes
.../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes
.../images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes
.../DbMigratorHostedService.cs | 51 +
.../WinIn.FasterZ.Wms.DbMigrator/Program.cs | 41 +
.../WinIn.FasterZ.Wms.DbMigrator.csproj | 46 +
.../WmsDbMigratorModule.cs | 21 +
.../appsettings.json | 30 +
.../appsettings.secrets.json | 2 +
.../Localization/Wms/ar.json | 8 +
.../Localization/Wms/cs.json | 8 +
.../Localization/Wms/de.json | 8 +
.../Localization/Wms/en-GB.json | 8 +
.../Localization/Wms/en.json | 8 +
.../Localization/Wms/es.json | 8 +
.../Localization/Wms/fi.json | 8 +
.../Localization/Wms/fr.json | 8 +
.../Localization/Wms/hi.json | 8 +
.../Localization/Wms/hr.json | 8 +
.../Localization/Wms/hu.json | 8 +
.../Localization/Wms/is.json | 8 +
.../Localization/Wms/it.json | 8 +
.../Localization/Wms/nl.json | 8 +
.../Localization/Wms/pl-PL.json | 8 +
.../Localization/Wms/pt-BR.json | 8 +
.../Localization/Wms/ro-RO.json | 8 +
.../Localization/Wms/ru.json | 8 +
.../Localization/Wms/sk.json | 8 +
.../Localization/Wms/sl.json | 8 +
.../Localization/Wms/tr.json | 8 +
.../Localization/Wms/vi.json | 8 +
.../Localization/Wms/zh-Hans.json | 8 +
.../Localization/Wms/zh-Hant.json | 8 +
.../Localization/WmsResource.cs | 9 +
.../MultiTenancy/MultiTenancyConsts.cs | 10 +
.../WinIn.FasterZ.Wms.Domain.Shared.csproj | 32 +
.../WmsDomainErrorCodes.cs | 6 +
.../WmsDomainSharedModule.cs | 58 +
.../WmsGlobalFeatureConfigurator.cs | 22 +
.../WmsModuleExtensionConfigurator.cs | 73 +
.../Data/IWmsDbSchemaMigrator.cs | 8 +
.../Data/NullWmsDbSchemaMigrator.cs | 15 +
.../Data/WmsDbMigrationService.cs | 218 +
.../OpenIddictDataSeedContributor.cs | 415 +
.../Properties/AssemblyInfo.cs | 3 +
.../Settings/WmsSettingDefinitionProvider.cs | 12 +
.../Settings/WmsSettings.cs | 9 +
.../WinIn.FasterZ.Wms.Domain.csproj | 33 +
.../src/WinIn.FasterZ.Wms.Domain/WmsConsts.cs | 8 +
.../WmsDomainModule.cs | 68 +
.../EntityFrameworkCoreWmsDbSchemaMigrator.cs | 34 +
.../EntityFrameworkCore/WmsDbContext.cs | 86 +
.../WmsDbContextFactory.cs | 33 +
.../WmsEfCoreEntityExtensionMappings.cs | 44 +
.../WmsEntityFrameworkCoreModule.cs | 54 +
.../20231110131226_Initial.Designer.cs | 1870 ++++
.../Migrations/20231110131226_Initial.cs | 1084 +++
.../Migrations/WmsDbContextModelSnapshot.cs | 1867 ++++
.../Properties/AssemblyInfo.cs | 2 +
...nIn.FasterZ.Wms.EntityFrameworkCore.csproj | 31 +
.../WinIn.FasterZ.Wms.HttpApi.Client.csproj | 29 +
.../WmsHttpApiClientModule.cs | 38 +
.../Controllers/HomeController.cs | 12 +
.../WinIn.FasterZ.Wms.HttpApi.Host/Program.cs | 56 +
.../Properties/launchSettings.json | 27 +
.../WinIn.FasterZ.Wms.HttpApi.Host.csproj | 40 +
.../WmsHttpApiHostModule.cs | 210 +
.../appsettings.Development.json | 2 +
.../appsettings.json | 23 +
.../appsettings.secrets.json | 2 +
.../WinIn.FasterZ.Wms.HttpApi.Host/web.config | 18 +
.../Controllers/WmsController.cs | 14 +
.../Models/Test/TestModel.cs | 10 +
.../WinIn.FasterZ.Wms.HttpApi.csproj | 24 +
.../WmsHttpApiModule.cs | 41 +
.../Toolbar/LoginLink/Default.cshtml | 4 +
.../LoginLink/LoginLinkViewComponent.cs | 12 +
.../Components/_ViewImports.cshtml | 4 +
.../Controllers/AccountController.cs | 8 +
.../Menus/WmsMenuContributor.cs | 81 +
.../WinIn.FasterZ.Wms.Web/Menus/WmsMenus.cs | 10 +
.../Menus/WmsToolbarContributor.cs | 25 +
.../WinIn.FasterZ.Wms.Web/Pages/Index.cshtml | 187 +
.../Pages/Index.cshtml.cs | 17 +
.../src/WinIn.FasterZ.Wms.Web/Pages/Index.css | 3 +
.../src/WinIn.FasterZ.Wms.Web/Pages/Index.js | 3 +
.../Pages/WmsPageModel.cs | 12 +
.../Pages/_ViewImports.cshtml | 4 +
.../src/WinIn.FasterZ.Wms.Web/Program.cs | 56 +
.../Properties/AssemblyInfo.cs | 2 +
.../Properties/launchSettings.json | 27 +
.../Views/_ViewImports.cshtml | 4 +
.../WinIn.FasterZ.Wms.Web.csproj | 62 +
.../WmsBrandingProvider.cs | 10 +
.../WmsWebAutoMapperProfile.cs | 11 +
.../src/WinIn.FasterZ.Wms.Web/WmsWebModule.cs | 277 +
.../abp.resourcemapping.js | 11 +
.../appsettings.Development.json | 3 +
.../WinIn.FasterZ.Wms.Web/appsettings.json | 22 +
.../appsettings.secrets.json | 2 +
.../WinIn.FasterZ.Wms.Web/package-lock.json | 7565 ++++++++++++++++
.../src/WinIn.FasterZ.Wms.Web/package.json | 8 +
.../src/WinIn.FasterZ.Wms.Web/web.config | 18 +
.../wwwroot/global-styles.css | 6 +
.../logo/leptonx/logo-dark-thumbnail.png | Bin 0 -> 17592 bytes
.../wwwroot/images/logo/leptonx/logo-dark.png | Bin 0 -> 47227 bytes
.../logo/leptonx/logo-light-thumbnail.png | Bin 0 -> 13598 bytes
.../images/logo/leptonx/logo-light.png | Bin 0 -> 38531 bytes
717 files changed, 88576 insertions(+)
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.gitattributes
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.gitignore
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.prettierrc
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/NuGet.Config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/WinIn.FasterZ.AuthSiteCenter.sln
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/WinIn.FasterZ.AuthSiteCenter.sln.DotSettings
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/common.props
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/AuthSiteCenterApplicationContractsModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/AuthSiteCenterDtoExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/Permissions/AuthSiteCenterPermissionDefinitionProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/Permissions/AuthSiteCenterPermissions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/WinIn.FasterZ.AuthSiteCenter.Application.Contracts.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterApplicationAutoMapperProfile.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterApplicationModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/AuthenticationFeatures.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/IAuthenticateResultFeature.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionChecker.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionGrantCacheItem.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionStore.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionStoreAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZAuthAppBuilderExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZAuthenticationMiddleware.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZRolePermissionValueProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/WinIn.FasterZ.AuthSiteCenter.Application.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/AuthSiteCenterDbMigratorModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/DbMigratorHostedService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/WinIn.FasterZ.AuthSiteCenter.DbMigrator.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterDomainErrorCodes.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterDomainSharedModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterGlobalFeatureConfigurator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterModuleExtensionConfigurator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ar.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/cs.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/de.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/en-GB.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/en.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/es.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/fi.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/fr.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hi.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hr.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hu.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/is.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/it.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/nl.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/pl-PL.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/pt-BR.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ro-RO.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ru.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/sk.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/sl.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/tr.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/vi.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/zh-Hans.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/zh-Hant.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenterResource.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/WinIn.FasterZ.AuthSiteCenter.Domain.Shared.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/AuthSiteCenterConsts.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/AuthSiteCenterDomainModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/AuthSiteCenterDbMigrationService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/IAuthSiteCenterDbSchemaMigrator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/NullAuthSiteCenterDbSchemaMigrator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/OpenIddict/OpenIddictDataSeedContributor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Settings/AuthSiteCenterSettingDefinitionProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Settings/AuthSiteCenterSettings.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/WinIn.FasterZ.AuthSiteCenter.Domain.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterDbContext.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterDbContextFactory.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterEfCoreEntityExtensionMappings.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterEntityFrameworkCoreModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreAuthSiteCenterDbSchemaMigrator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/Migrations/20230908213846_Initial.Designer.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/Migrations/20230908213846_Initial.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/Migrations/AuthSiteCenterDbContextModelSnapshot.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.HttpApi.Client/AuthSiteCenterHttpApiClientModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.HttpApi.Client/WinIn.FasterZ.AuthSiteCenter.HttpApi.Client.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.HttpApi/AuthSiteCenterHttpApiModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.HttpApi/Controllers/AuthSiteCenterController.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.HttpApi/Models/Test/TestModel.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.HttpApi/WinIn.FasterZ.AuthSiteCenter.HttpApi.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/AuthSiteCenterAutoMapperProfile.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/AuthSiteCenterBrandingProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/AuthSiteCenterWebAutoMapperProfile.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/AuthSiteCenterWebModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Components/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Controllers/CustAccountController.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Menus/AuthSiteCenterMenuContributor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Menus/AuthSiteCenterMenus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Pages/AuthSiteCenterPageModel.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Pages/Index.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Pages/Index.cshtml.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Pages/Index.css
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Pages/Index.js
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Pages/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Properties/launchSettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/Views/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/WinIn.FasterZ.AuthSiteCenter.Web.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/abp.resourcemapping.js
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/appsettings.Development.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/package-lock.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/package.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/serilogsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/web.config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/wwwroot/global-styles.css
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/wwwroot/images/logo/leptonx/logo-dark.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/wwwroot/images/logo/leptonx/logo-light-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Web/wwwroot/images/logo/leptonx/logo-light.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.gitattributes
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.gitignore
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.prettierrc
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/NuGet.Config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/WinIn.FasterZ.Job.sln
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/WinIn.FasterZ.Job.sln.DotSettings
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/common.props
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/CreateUpdateBaseDto/CreateUpdateBaseDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/Condition.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/EnumFilterAction.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/EnumFilterLogic.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/Filter.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/FilterExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/ISfsRequest.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/IZbxBase.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/SfsRequestInputBase.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/TableColumnTypeDto/AllTableColumnTypeDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/TableColumnTypeDto/ColumnType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/Dtos/CreateUpdateExportCustomUserSettingDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/Dtos/ExportCustomUserSettingDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/Dtos/ExportCustomUserSettingGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/IExportCustomUserSettingAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/JobApplicationContractsModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/JobDtoExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Permissions/JobPermissionDefinitionProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Permissions/JobPermissions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/WinIn.FasterZ.Job.Application.Contracts.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CheckJob/Dtos/CheckJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CheckJob/Dtos/CheckJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CheckJob/Dtos/CheckJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CheckJob/Dtos/CheckJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CheckJob/Dtos/CreateUpdateCheckJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CheckJob/Dtos/CreateUpdateCheckJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CheckJob/ICheckJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CheckJob/ICheckJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CountJob/Dtos/CountJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CountJob/Dtos/CountJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CountJob/Dtos/CountJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CountJob/Dtos/CountJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CountJob/Dtos/CreateUpdateCountJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CountJob/Dtos/CreateUpdateCountJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CountJob/ICountJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/CountJob/ICountJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/DeliverJob/Dtos/CreateUpdateDeliverJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/DeliverJob/Dtos/CreateUpdateDeliverJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/DeliverJob/Dtos/DeliverJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/DeliverJob/Dtos/DeliverJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/DeliverJob/Dtos/DeliverJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/DeliverJob/Dtos/DeliverJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/DeliverJob/IDeliverJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/DeliverJob/IDeliverJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/Dtos/CreateUpdateInspectJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/Dtos/CreateUpdateInspectJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/Dtos/CreateUpdateInspectJobSummaryDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/Dtos/InspectJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/Dtos/InspectJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/Dtos/InspectJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/Dtos/InspectJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/Dtos/InspectJobSummaryDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/Dtos/InspectJobSummaryDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/IInspectJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/IInspectJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/InspectJob/IInspectJobSummaryDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/IssueJob/Dtos/CreateUpdateIssueJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/IssueJob/Dtos/CreateUpdateIssueJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/IssueJob/Dtos/IssueJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/IssueJob/Dtos/IssueJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/IssueJob/Dtos/IssueJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/IssueJob/Dtos/IssueJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/IssueJob/IIssueJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/IssueJob/IIssueJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/JisDeliverJob/Dtos/CreateUpdateJisDeliverJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/JisDeliverJob/Dtos/CreateUpdateJisDeliverJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/JisDeliverJob/Dtos/JisDeliverJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/JisDeliverJob/Dtos/JisDeliverJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/JisDeliverJob/Dtos/JisDeliverJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/JisDeliverJob/Dtos/JisDeliverJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/JisDeliverJob/IJisDeliverJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/JisDeliverJob/IJisDeliverJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/ProductReceiveJob/Dtos/CreateUpdateProductReceiveJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/ProductReceiveJob/Dtos/CreateUpdateProductReceiveJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/ProductReceiveJob/Dtos/ProductReceiveJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/ProductReceiveJob/Dtos/ProductReceiveJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/ProductReceiveJob/Dtos/ProductReceiveJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/ProductReceiveJob/Dtos/ProductReceiveJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/ProductReceiveJob/IProductReceiveJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/ProductReceiveJob/IProductReceiveJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReceiptJob/Dtos/CreateUpdatePurchaseReceiptJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReceiptJob/Dtos/CreateUpdatePurchaseReceiptJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReceiptJob/Dtos/PurchaseReceiptJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReceiptJob/Dtos/PurchaseReceiptJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReceiptJob/Dtos/PurchaseReceiptJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReceiptJob/Dtos/PurchaseReceiptJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReceiptJob/IPurchaseReceiptJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReceiptJob/IPurchaseReceiptJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReturnJob/Dtos/CreateUpdatePurchaseReturnJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReturnJob/Dtos/CreateUpdatePurchaseReturnJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReturnJob/Dtos/PurchaseReturnJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReturnJob/Dtos/PurchaseReturnJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReturnJob/Dtos/PurchaseReturnJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReturnJob/Dtos/PurchaseReturnJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReturnJob/IPurchaseReturnJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PurchaseReturnJob/IPurchaseReturnJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PutawayJob/Dtos/CreateUpdatePutawayJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PutawayJob/Dtos/CreateUpdatePutawayJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PutawayJob/Dtos/PutawayJobDetailDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PutawayJob/Dtos/PutawayJobDetailGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PutawayJob/Dtos/PutawayJobDto.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PutawayJob/Dtos/PutawayJobGetListInput.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PutawayJob/IPutawayJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/Z_Business/PutawayJob/IPutawayJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/AppBase/Extensions/ExpressionExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/AppBase/Extensions/ObjectExpressionExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/AppBase/Extensions/ObjectMapperExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/AppBase/Extensions/StringExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/AppBase/ZbxBase.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/AppBaseBusiness/ExportCustomUserSetting/ExportCustomUserSettingAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/JobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/JobApplicationAutoMapperProfile.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/JobApplicationModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/WinIn.FasterZ.Job.Application.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/CheckJob/CheckJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/CheckJob/CheckJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/CountJob/CountJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/CountJob/CountJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/DeliverJob/DeliverJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/DeliverJob/DeliverJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/InspectJob/InspectJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/InspectJob/InspectJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/InspectJob/InspectJobSummaryDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/IssueJob/IssueJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/IssueJob/IssueJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/JisDeliverJob/JisDeliverJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/JisDeliverJob/JisDeliverJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/ProductReceiveJob/ProductReceiveJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/ProductReceiveJob/ProductReceiveJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/PurchaseReceiptJob/PurchaseReceiptJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/PurchaseReceiptJob/PurchaseReceiptJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/PurchaseReturnJob/PurchaseReturnJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/PurchaseReturnJob/PurchaseReturnJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/PutawayJob/PutawayJobAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application/Z_Business/PutawayJob/PutawayJobDetailAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/JobAuthServerModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/JobBrandingProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/Pages/Index.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/Pages/Index.cshtml.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/Pages/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/Properties/launchSettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/WinIn.FasterZ.Job.AuthServer.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/abp.resourcemapping.js
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/appsettings.Development.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/package-lock.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/package.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/web.config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/wwwroot/global-styles.css
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/wwwroot/images/logo/leptonx/logo-dark.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/wwwroot/images/logo/leptonx/logo-light-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.AuthServer/wwwroot/images/logo/leptonx/logo-light.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.DbMigrator/DbMigratorHostedService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.DbMigrator/JobDbMigratorModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.DbMigrator/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.DbMigrator/WinIn.FasterZ.Job.DbMigrator.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.DbMigrator/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.DbMigrator/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Auth/MenuStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Basedata/EnumDistributionType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Basedata/EnumItemStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Basedata/EnumLocationType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Basedata/EnumPlannedSplitRule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Basedata/EnumStoreRelationType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Basedata/EnumStoreType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Basedata/EnumTruncType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Basedata/EnumValidityUnit.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Basedata/EnumWorkOrderType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/DataExchange/EnumL7PartsState.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/DataExchange/EnumMesInfoType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/EnumFileType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/EnumImportMethod.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/EnumImportReportStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/EnumItemManageType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Enum_ExportCustomUserSetting.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/FileStorage/EnumDataExportDeleteRange.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/FileStorage/EnumDataImportDeleteRange.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/FileStorage/EnumDataImportExportStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Inventory/EnumBindType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Inventory/EnumBoxLabelSuffix.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Inventory/EnumContainerStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Inventory/EnumInventoryStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Inventory/EnumSourceType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Inventory/EnumTransInOut.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Inventory/EnumTransSubType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Inventory/EnumTransType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Inventory/EnumTransferType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Job/EnumCountStage.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Job/EnumInspectNextAction.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Job/EnumJobStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Job/EnumJobType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Job/EnumLocationStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Job/EnumPutawayJobType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Message/EnumMessageCategory.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Message/EnumMessageLevel.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Message/EnumMessageStats.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Message/EnumSendToType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumAdjustType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumArriveNoticeStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumCheckDetailStage.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumCheckDetailStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumCheckPlanStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumCheckStage.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumContainerBusinessStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumCountCreateType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumCountDoingType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumCountMethod.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumCountPlanCompleteType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumCountType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumDeliverPlanStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumDeliverRequestStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumInspectType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumOutJisDeliverStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumPreparationPlanLineStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumPreparationPlanStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumProductionPlanStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumPurchaseReceiptNoteStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumPurchaseReceiptNoteType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumPurchaseReturnNoteStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumReceiptType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumRequestStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumReworkNoteStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumScrapOutNoteStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumSupplierAsnStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumSupplierEvaluationReason.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumUnplannedIssueType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumUnplannedReasonCode.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumUnplannedReceiptType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumWorkOrderStatus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Enums/Store/EnumWorkOrderType.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/JobDomainErrorCodes.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/JobDomainSharedModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/JobGlobalFeatureConfigurator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/JobModuleExtensionConfigurator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/ar.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/cs.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/de.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/en-GB.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/en.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/es.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/fi.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/fr.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/hi.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/hr.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/hu.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/is.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/it.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/nl.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/pl-PL.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/pt-BR.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/ro-RO.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/ru.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/sk.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/sl.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/tr.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/vi.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/zh-Hans.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/Job/zh-Hant.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/Localization/JobResource.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain.Shared/WinIn.FasterZ.Job.Domain.Shared.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/AppBaseBusiness/ExportCustomUserSetting/ExportCustomUserSetting.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/AppBaseBusiness/ExportCustomUserSetting/IExportCustomUserSettingRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Data/IJobDbSchemaMigrator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Data/JobDbMigrationService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Data/NullJobDbSchemaMigrator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/JobConsts.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/JobDomainModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/OpenIddict/OpenIddictDataSeedContributor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Settings/JobSettingDefinitionProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Settings/JobSettings.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/WinIn.FasterZ.Job.Domain.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/CheckJob/CheckJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/CheckJob/CheckJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/CheckJob/ICheckJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/CheckJob/ICheckJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/CountJob/CountJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/CountJob/CountJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/CountJob/ICountJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/CountJob/ICountJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/DeliverJob/DeliverJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/DeliverJob/DeliverJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/DeliverJob/IDeliverJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/DeliverJob/IDeliverJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/InspectJob/IInspectJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/InspectJob/IInspectJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/InspectJob/IInspectJobSummaryDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/InspectJob/InspectJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/InspectJob/InspectJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/InspectJob/InspectJobSummaryDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/IssueJob/IIssueJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/IssueJob/IIssueJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/IssueJob/IssueJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/IssueJob/IssueJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/JisDeliverJob/IJisDeliverJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/JisDeliverJob/IJisDeliverJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/JisDeliverJob/JisDeliverJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/JisDeliverJob/JisDeliverJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/ProductReceiveJob/IProductReceiveJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/ProductReceiveJob/IProductReceiveJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/ProductReceiveJob/ProductReceiveJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/ProductReceiveJob/ProductReceiveJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PurchaseReceiptJob/IPurchaseReceiptJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PurchaseReceiptJob/IPurchaseReceiptJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PurchaseReceiptJob/PurchaseReceiptJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PurchaseReceiptJob/PurchaseReceiptJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PurchaseReturnJob/IPurchaseReturnJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PurchaseReturnJob/IPurchaseReturnJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PurchaseReturnJob/PurchaseReturnJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PurchaseReturnJob/PurchaseReturnJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PutawayJob/IPutawayJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PutawayJob/IPutawayJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PutawayJob/PutawayJob.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Domain/Z_Business/PutawayJob/PutawayJobDetail.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/AppBaseBusiness/ExportCustomUserSetting/ExportCustomUserSettingEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/AppBaseBusiness/ExportCustomUserSetting/ExportCustomUserSettingRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreJobDbSchemaMigrator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/EntityFrameworkCore/JobDbContext.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/EntityFrameworkCore/JobDbContextFactory.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/EntityFrameworkCore/JobEfCoreEntityExtensionMappings.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/EntityFrameworkCore/JobEntityFrameworkCoreModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Migrations/20230809025921_Initial.Designer.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Migrations/20230809025921_Initial.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Migrations/JobDbContextModelSnapshot.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/WinIn.FasterZ.Job.EntityFrameworkCore.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/CheckJob/CheckJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/CheckJob/CheckJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/CheckJob/CheckJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/CheckJob/CheckJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/CountJob/CountJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/CountJob/CountJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/CountJob/CountJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/CountJob/CountJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/DeliverJob/DeliverJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/DeliverJob/DeliverJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/DeliverJob/DeliverJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/DeliverJob/DeliverJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/InspectJob/InspectJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/InspectJob/InspectJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/InspectJob/InspectJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/InspectJob/InspectJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/InspectJob/InspectJobSummaryDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/InspectJob/InspectJobSummaryDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/IssueJob/IssueJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/IssueJob/IssueJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/IssueJob/IssueJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/IssueJob/IssueJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/JisDeliverJob/JisDeliverJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/JisDeliverJob/JisDeliverJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/JisDeliverJob/JisDeliverJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/JisDeliverJob/JisDeliverJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/ProductReceiveJob/ProductReceiveJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/ProductReceiveJob/ProductReceiveJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/ProductReceiveJob/ProductReceiveJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/ProductReceiveJob/ProductReceiveJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PurchaseReceiptJob/PurchaseReceiptJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PurchaseReceiptJob/PurchaseReceiptJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PurchaseReceiptJob/PurchaseReceiptJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PurchaseReceiptJob/PurchaseReceiptJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PurchaseReturnJob/PurchaseReturnJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PurchaseReturnJob/PurchaseReturnJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PurchaseReturnJob/PurchaseReturnJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PurchaseReturnJob/PurchaseReturnJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PutawayJob/PutawayJobDetailEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PutawayJob/PutawayJobDetailRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PutawayJob/PutawayJobEfCoreQuerableExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.EntityFrameworkCore/Z_Business/PutawayJob/PutawayJobRepository.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Client/JobHttpApiClientModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Client/WinIn.FasterZ.Job.HttpApi.Client.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/Controllers/HomeController.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/JobHttpApiHostModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/Properties/launchSettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/WinIn.FasterZ.Job.HttpApi.Host.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/appsettings.Development.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/serilogsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi.Host/web.config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi/Controllers/JobController.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi/JobHttpApiModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi/Models/Test/TestModel.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.HttpApi/WinIn.FasterZ.Job.HttpApi.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Components/Toolbar/LoginLink/Default.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Components/Toolbar/LoginLink/LoginLinkViewComponent.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Components/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Controllers/AccountController.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/JobBrandingProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/JobWebAutoMapperProfile.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/JobWebModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Menus/JobMenuContributor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Menus/JobMenus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Menus/JobToolbarContributor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Pages/Index.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Pages/Index.cshtml.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Pages/Index.css
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Pages/Index.js
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Pages/JobPageModel.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Pages/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Properties/launchSettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/Views/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/WinIn.FasterZ.Job.Web.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/abp.resourcemapping.js
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/appsettings.Development.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/package-lock.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/package.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/web.config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/wwwroot/global-styles.css
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/wwwroot/images/logo/leptonx/logo-dark.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/wwwroot/images/logo/leptonx/logo-light-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Web/wwwroot/images/logo/leptonx/logo-light.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.Application.Tests/JobApplicationTestBase.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.Application.Tests/JobApplicationTestModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.Application.Tests/Samples/SampleAppServiceTests.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.Application.Tests/WinIn.FasterZ.Job.Application.Tests.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.Domain.Tests/JobDomainTestBase.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.Domain.Tests/JobDomainTestModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.Domain.Tests/Samples/SampleDomainTests.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.Domain.Tests/WinIn.FasterZ.Job.Domain.Tests.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.EntityFrameworkCore.Tests/EntityFrameworkCore/JobEntityFrameworkCoreTestBase.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.EntityFrameworkCore.Tests/EntityFrameworkCore/JobEntityFrameworkCoreTestModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.EntityFrameworkCore.Tests/EntityFrameworkCore/Samples/SampleRepositoryTests.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.EntityFrameworkCore.Tests/WinIn.FasterZ.Job.EntityFrameworkCore.Tests.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.HttpApi.Client.ConsoleTestApp/ClientDemoService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.HttpApi.Client.ConsoleTestApp/ConsoleTestAppHostedService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.HttpApi.Client.ConsoleTestApp/JobConsoleApiClientModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.HttpApi.Client.ConsoleTestApp/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.HttpApi.Client.ConsoleTestApp/WinIn.FasterZ.Job.HttpApi.Client.ConsoleTestApp.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.HttpApi.Client.ConsoleTestApp/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.HttpApi.Client.ConsoleTestApp/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.TestBase/JobTestBase.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.TestBase/JobTestBaseModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.TestBase/JobTestDataSeedContributor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.TestBase/Security/FakeCurrentPrincipalAccessor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/test/WinIn.FasterZ.Job.TestBase/WinIn.FasterZ.Job.TestBase.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/.gitattributes
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/.gitignore
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/.prettierrc
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/NuGet.Config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms.sln
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms.sln.DotSettings
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/common.props
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Permissions/WmsPermissionDefinitionProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Permissions/WmsPermissions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/WinIn.FasterZ.Wms.Application.Contracts.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/WmsApplicationContractsModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/WmsDtoExtensions.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WinIn.FasterZ.Wms.Application.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WmsAppService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WmsApplicationAutoMapperProfile.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WmsApplicationModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/Pages/Index.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/Pages/Index.cshtml.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/Pages/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/Properties/launchSettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/WinIn.FasterZ.Wms.AuthServer.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/WmsAuthServerModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/WmsBrandingProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/abp.resourcemapping.js
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/appsettings.Development.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/package-lock.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/package.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/web.config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/wwwroot/global-styles.css
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/wwwroot/images/logo/leptonx/logo-dark.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/wwwroot/images/logo/leptonx/logo-light-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/wwwroot/images/logo/leptonx/logo-light.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/DbMigratorHostedService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/WinIn.FasterZ.Wms.DbMigrator.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/WmsDbMigratorModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/ar.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/cs.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/de.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/en-GB.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/en.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/es.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/fi.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/fr.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/hi.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/hr.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/hu.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/is.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/it.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/nl.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/pl-PL.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/pt-BR.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/ro-RO.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/ru.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/sk.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/sl.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/tr.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/vi.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/zh-Hans.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/Wms/zh-Hant.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/WmsResource.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WinIn.FasterZ.Wms.Domain.Shared.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsDomainErrorCodes.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsDomainSharedModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsGlobalFeatureConfigurator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsModuleExtensionConfigurator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Data/IWmsDbSchemaMigrator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Data/NullWmsDbSchemaMigrator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Data/WmsDbMigrationService.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/OpenIddict/OpenIddictDataSeedContributor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Settings/WmsSettingDefinitionProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Settings/WmsSettings.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/WinIn.FasterZ.Wms.Domain.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/WmsConsts.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/WmsDomainModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreWmsDbSchemaMigrator.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/EntityFrameworkCore/WmsDbContext.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/EntityFrameworkCore/WmsDbContextFactory.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/EntityFrameworkCore/WmsEfCoreEntityExtensionMappings.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/EntityFrameworkCore/WmsEntityFrameworkCoreModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/Migrations/20231110131226_Initial.Designer.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/Migrations/20231110131226_Initial.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/Migrations/WmsDbContextModelSnapshot.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.EntityFrameworkCore/WinIn.FasterZ.Wms.EntityFrameworkCore.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Client/WinIn.FasterZ.Wms.HttpApi.Client.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Client/WmsHttpApiClientModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Host/Controllers/HomeController.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Host/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Host/Properties/launchSettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Host/WinIn.FasterZ.Wms.HttpApi.Host.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Host/WmsHttpApiHostModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Host/appsettings.Development.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Host/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Host/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi.Host/web.config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi/Controllers/WmsController.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi/Models/Test/TestModel.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi/WinIn.FasterZ.Wms.HttpApi.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.HttpApi/WmsHttpApiModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Components/Toolbar/LoginLink/Default.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Components/Toolbar/LoginLink/LoginLinkViewComponent.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Components/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Controllers/AccountController.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Menus/WmsMenuContributor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Menus/WmsMenus.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Menus/WmsToolbarContributor.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Pages/Index.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Pages/Index.cshtml.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Pages/Index.css
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Pages/Index.js
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Pages/WmsPageModel.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Pages/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Program.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Properties/AssemblyInfo.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Properties/launchSettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/Views/_ViewImports.cshtml
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/WinIn.FasterZ.Wms.Web.csproj
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/WmsBrandingProvider.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/WmsWebAutoMapperProfile.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/WmsWebModule.cs
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/abp.resourcemapping.js
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/appsettings.Development.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/appsettings.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/appsettings.secrets.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/package-lock.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/package.json
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/web.config
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/wwwroot/global-styles.css
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/wwwroot/images/logo/leptonx/logo-dark-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/wwwroot/images/logo/leptonx/logo-dark.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/wwwroot/images/logo/leptonx/logo-light-thumbnail.png
create mode 100644 WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Web/wwwroot/images/logo/leptonx/logo-light.png
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.gitattributes b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.gitattributes
new file mode 100644
index 000000000..c941e5266
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.gitattributes
@@ -0,0 +1 @@
+**/wwwroot/libs/** linguist-vendored
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.gitignore b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.gitignore
new file mode 100644
index 000000000..f64cf189c
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.gitignore
@@ -0,0 +1,265 @@
+## 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
+
+# AuthSiteCenter
+src/WinIn.FasterZ.AuthSiteCenter.Web/Logs/*
+src/WinIn.FasterZ.AuthSiteCenter.Web.Host/Logs/*
+src/WinIn.FasterZ.AuthSiteCenter.AuthServer/Logs/*
+src/WinIn.FasterZ.AuthSiteCenter.HttpApi.Host/Logs/*
+src/WinIn.FasterZ.AuthSiteCenter.HttpApi.HostWithIds/Logs/*
+src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/Logs/*
+src/WinIn.FasterZ.AuthSiteCenter.Blazor.Server/Logs/*
+src/WinIn.FasterZ.AuthSiteCenter.Blazor.Server.Tiered/Logs/*
+
+# Use abp install-libs to restore.
+**/wwwroot/libs/*
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.prettierrc b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.prettierrc
new file mode 100644
index 000000000..56af76bd9
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/.prettierrc
@@ -0,0 +1,5 @@
+{
+ "singleQuote": true,
+ "useTabs": false,
+ "tabWidth": 4
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/NuGet.Config b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/NuGet.Config
new file mode 100644
index 000000000..bdc451971
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/NuGet.Config
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/WinIn.FasterZ.AuthSiteCenter.sln b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/WinIn.FasterZ.AuthSiteCenter.sln
new file mode 100644
index 000000000..216af2e61
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/WinIn.FasterZ.AuthSiteCenter.sln
@@ -0,0 +1,86 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.6.33815.320
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.AuthSiteCenter.Domain", "src\WinIn.FasterZ.AuthSiteCenter.Domain\WinIn.FasterZ.AuthSiteCenter.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.AuthSiteCenter.Application", "src\WinIn.FasterZ.AuthSiteCenter.Application\WinIn.FasterZ.AuthSiteCenter.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore", "src\WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore\WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.AuthSiteCenter.Web", "src\WinIn.FasterZ.AuthSiteCenter.Web\WinIn.FasterZ.AuthSiteCenter.Web.csproj", "{068855E8-9240-4F1A-910B-CF825794513B}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.AuthSiteCenter.Domain.Shared", "src\WinIn.FasterZ.AuthSiteCenter.Domain.Shared\WinIn.FasterZ.AuthSiteCenter.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.AuthSiteCenter.Application.Contracts", "src\WinIn.FasterZ.AuthSiteCenter.Application.Contracts\WinIn.FasterZ.AuthSiteCenter.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.AuthSiteCenter.HttpApi", "src\WinIn.FasterZ.AuthSiteCenter.HttpApi\WinIn.FasterZ.AuthSiteCenter.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.AuthSiteCenter.HttpApi.Client", "src\WinIn.FasterZ.AuthSiteCenter.HttpApi.Client\WinIn.FasterZ.AuthSiteCenter.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.AuthSiteCenter.DbMigrator", "src\WinIn.FasterZ.AuthSiteCenter.DbMigrator\WinIn.FasterZ.AuthSiteCenter.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
+ {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
+ {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}
+ {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}
+ {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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/WinIn.FasterZ.AuthSiteCenter.sln.DotSettings b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/WinIn.FasterZ.AuthSiteCenter.sln.DotSettings
new file mode 100644
index 000000000..cb0b2c919
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/WinIn.FasterZ.AuthSiteCenter.sln.DotSettings
@@ -0,0 +1,23 @@
+
+ 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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/common.props b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/common.props
new file mode 100644
index 000000000..7e89c3a06
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/common.props
@@ -0,0 +1,19 @@
+
+
+ latest
+ 1.0.0
+ $(NoWarn);CS1591
+ app
+
+
+
+
+ $(NoWarn);0436
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/AuthSiteCenterApplicationContractsModule.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/AuthSiteCenterApplicationContractsModule.cs
new file mode 100644
index 000000000..35cb5fdc1
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/AuthSiteCenterApplicationContractsModule.cs
@@ -0,0 +1,28 @@
+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 WinIn.FasterZ.AuthSiteCenter;
+
+[DependsOn(
+ typeof(AuthSiteCenterDomainSharedModule),
+ typeof(AbpAccountApplicationContractsModule),
+ typeof(AbpFeatureManagementApplicationContractsModule),
+ typeof(AbpIdentityApplicationContractsModule),
+ typeof(AbpPermissionManagementApplicationContractsModule),
+ typeof(AbpSettingManagementApplicationContractsModule),
+ typeof(AbpTenantManagementApplicationContractsModule),
+ typeof(AbpObjectExtendingModule)
+)]
+public class AuthSiteCenterApplicationContractsModule : AbpModule
+{
+ public override void PreConfigureServices(ServiceConfigurationContext context)
+ {
+ AuthSiteCenterDtoExtensions.Configure();
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/AuthSiteCenterDtoExtensions.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/AuthSiteCenterDtoExtensions.cs
new file mode 100644
index 000000000..fbb4d61ce
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/AuthSiteCenterDtoExtensions.cs
@@ -0,0 +1,28 @@
+using Volo.Abp.Identity;
+using Volo.Abp.ObjectExtending;
+using Volo.Abp.Threading;
+
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+public static class AuthSiteCenterDtoExtensions
+{
+ 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
+ */
+ });
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/Permissions/AuthSiteCenterPermissionDefinitionProvider.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/Permissions/AuthSiteCenterPermissionDefinitionProvider.cs
new file mode 100644
index 000000000..9b3c90132
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/Permissions/AuthSiteCenterPermissionDefinitionProvider.cs
@@ -0,0 +1,20 @@
+using WinIn.FasterZ.AuthSiteCenter.Localization;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Localization;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions;
+
+public class AuthSiteCenterPermissionDefinitionProvider : PermissionDefinitionProvider
+{
+ public override void Define(IPermissionDefinitionContext context)
+ {
+ var myGroup = context.AddGroup(AuthSiteCenterPermissions.GroupName);
+ //Define your own permissions here. Example:
+ //myGroup.AddPermission(AuthSiteCenterPermissions.MyPermission1, L("Permission:MyPermission1"));
+ }
+
+ private static LocalizableString L(string name)
+ {
+ return LocalizableString.Create(name);
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/Permissions/AuthSiteCenterPermissions.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/Permissions/AuthSiteCenterPermissions.cs
new file mode 100644
index 000000000..7f278879e
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/Permissions/AuthSiteCenterPermissions.cs
@@ -0,0 +1,9 @@
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions;
+
+public static class AuthSiteCenterPermissions
+{
+ public const string GroupName = "AuthSiteCenter";
+
+ //Add your own permission names. Example:
+ //public const string MyPermission1 = GroupName + ".MyPermission1";
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/WinIn.FasterZ.AuthSiteCenter.Application.Contracts.csproj b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/WinIn.FasterZ.AuthSiteCenter.Application.Contracts.csproj
new file mode 100644
index 000000000..46277ff0d
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application.Contracts/WinIn.FasterZ.AuthSiteCenter.Application.Contracts.csproj
@@ -0,0 +1,25 @@
+
+
+
+
+
+ netstandard2.0;netstandard2.1;net7.0
+ enable
+ WinIn.FasterZ.AuthSiteCenter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterAppService.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterAppService.cs
new file mode 100644
index 000000000..439c03678
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterAppService.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using WinIn.FasterZ.AuthSiteCenter.Localization;
+using Volo.Abp.Application.Services;
+
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+/* Inherit your application services from this class.
+ */
+public abstract class AuthSiteCenterAppService : ApplicationService
+{
+ protected AuthSiteCenterAppService()
+ {
+ LocalizationResource = typeof(AuthSiteCenterResource);
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterApplicationAutoMapperProfile.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterApplicationAutoMapperProfile.cs
new file mode 100644
index 000000000..038cd9d6b
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterApplicationAutoMapperProfile.cs
@@ -0,0 +1,13 @@
+using AutoMapper;
+
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+public class AuthSiteCenterApplicationAutoMapperProfile : Profile
+{
+ public AuthSiteCenterApplicationAutoMapperProfile()
+ {
+ /* You can configure your AutoMapper mapping configuration here.
+ * Alternatively, you can split your mapping configurations
+ * into multiple profile classes for a better organization. */
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterApplicationModule.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterApplicationModule.cs
new file mode 100644
index 000000000..e289bbb0b
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/AuthSiteCenterApplicationModule.cs
@@ -0,0 +1,31 @@
+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;
+
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+[DependsOn(
+ typeof(AuthSiteCenterDomainModule),
+ typeof(AbpAccountApplicationModule),
+ typeof(AuthSiteCenterApplicationContractsModule),
+ typeof(AbpIdentityApplicationModule),
+ typeof(AbpPermissionManagementApplicationModule),
+ typeof(AbpTenantManagementApplicationModule),
+ typeof(AbpFeatureManagementApplicationModule),
+ typeof(AbpSettingManagementApplicationModule)
+ )]
+public class AuthSiteCenterApplicationModule : AbpModule
+{
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ options.AddMaps();
+ });
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/AuthenticationFeatures.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/AuthenticationFeatures.cs
new file mode 100644
index 000000000..c0c705c20
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/AuthenticationFeatures.cs
@@ -0,0 +1,41 @@
+using System.Security.Claims;
+using Microsoft.AspNetCore.Authentication;
+using Microsoft.AspNetCore.Http.Features.Authentication;
+using IAuthenticationHandler = Microsoft.AspNetCore.Http.Features.Authentication.IAuthenticationHandler;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions;
+
+///
+/// Keeps the User and AuthenticationResult consistent with each other
+///
+internal sealed class AuthenticationFeatures :
+ IAuthenticateResultFeature,
+ IHttpAuthenticationFeature
+{
+ private ClaimsPrincipal _user;
+ private AuthenticateResult _result;
+
+ public AuthenticationFeatures(AuthenticateResult result) => AuthenticateResult = result;
+
+ public AuthenticateResult AuthenticateResult
+ {
+ get => _result;
+ set
+ {
+ _result = value;
+ _user = _result?.Principal;
+ }
+ }
+
+ public ClaimsPrincipal User
+ {
+ get => _user;
+ set
+ {
+ _user = value;
+ _result = null;
+ }
+ }
+
+ public IAuthenticationHandler Handler { get; set; }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/IAuthenticateResultFeature.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/IAuthenticateResultFeature.cs
new file mode 100644
index 000000000..30f6b3235
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/IAuthenticateResultFeature.cs
@@ -0,0 +1,15 @@
+using Microsoft.AspNetCore.Authentication;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions;
+
+///
+/// Used to capture the from the authorization middleware.
+///
+public interface IAuthenticateResultFeature
+{
+ ///
+ /// The from the authorization middleware.
+ /// Set to null if the property is set after the authorization middleware.
+ ///
+ AuthenticateResult? AuthenticateResult { get; set; }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionChecker.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionChecker.cs
new file mode 100644
index 000000000..48e329d17
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionChecker.cs
@@ -0,0 +1,168 @@
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Claims;
+using System.Security.Principal;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.MultiTenancy;
+using Volo.Abp.Security.Claims;
+using Volo.Abp.SimpleStateChecking;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions;
+
+public class PermissionChecker : IPermissionChecker, ITransientDependency
+{
+ protected IPermissionDefinitionManager PermissionDefinitionManager { get; }
+ protected ICurrentPrincipalAccessor PrincipalAccessor { get; }
+ protected ICurrentTenant CurrentTenant { get; }
+ protected IPermissionValueProviderManager PermissionValueProviderManager { get; }
+ protected ISimpleStateCheckerManager StateCheckerManager { get; }
+
+ public PermissionChecker(
+ ICurrentPrincipalAccessor principalAccessor,
+ IPermissionDefinitionManager permissionDefinitionManager,
+ ICurrentTenant currentTenant,
+ IPermissionValueProviderManager permissionValueProviderManager,
+ ISimpleStateCheckerManager stateCheckerManager)
+ {
+ PrincipalAccessor = principalAccessor;
+ PermissionDefinitionManager = permissionDefinitionManager;
+ CurrentTenant = currentTenant;
+ PermissionValueProviderManager = permissionValueProviderManager;
+ StateCheckerManager = stateCheckerManager;
+ }
+
+ public virtual async Task IsGrantedAsync(string name)
+ {
+ return await IsGrantedAsync(PrincipalAccessor.Principal, name);
+ }
+
+ public virtual async Task IsGrantedAsync(
+ ClaimsPrincipal? claimsPrincipal,
+ string name)
+ {
+ Check.NotNull(name, nameof(name));
+
+ var permission = await PermissionDefinitionManager.GetOrNullAsync(name);
+ if (permission == null)
+ {
+ return false;
+ }
+
+ if (!permission.IsEnabled)
+ {
+ return false;
+ }
+
+ if (!await StateCheckerManager.IsEnabledAsync(permission))
+ {
+ return false;
+ }
+
+ var multiTenancySide = claimsPrincipal?.GetMultiTenancySide()
+ ?? CurrentTenant.GetMultiTenancySide();
+
+ if (!permission.MultiTenancySide.HasFlag(multiTenancySide))
+ {
+ return false;
+ }
+
+ var isGranted = false;
+ var context = new PermissionValueCheckContext(permission, claimsPrincipal);
+ foreach (var provider in PermissionValueProviderManager.ValueProviders)
+ {
+ if (context.Permission.Providers.Any() &&
+ !context.Permission.Providers.Contains(provider.Name))
+ {
+ continue;
+ }
+
+ var result = await provider.CheckAsync(context);
+
+ if (result == PermissionGrantResult.Granted)
+ {
+ isGranted = true;
+ }
+ else if (result == PermissionGrantResult.Prohibited)
+ {
+ return false;
+ }
+ }
+
+ return isGranted;
+ }
+
+ public async Task IsGrantedAsync(string[] names)
+ {
+ return await IsGrantedAsync(PrincipalAccessor.Principal, names);
+ }
+
+ public async Task IsGrantedAsync(ClaimsPrincipal? claimsPrincipal, string[] names)
+ {
+ Check.NotNull(names, nameof(names));
+
+ var result = new MultiplePermissionGrantResult();
+ if (!names.Any())
+ {
+ return result;
+ }
+
+ var multiTenancySide = claimsPrincipal?.GetMultiTenancySide() ??
+ CurrentTenant.GetMultiTenancySide();
+
+ var permissionDefinitions = new List();
+ foreach (var name in names)
+ {
+ var permission = await PermissionDefinitionManager.GetOrNullAsync(name);
+ if (permission == null)
+ {
+ result.Result.Add(name, PermissionGrantResult.Prohibited);
+ continue;
+ }
+
+ result.Result.Add(name, PermissionGrantResult.Undefined);
+
+ if (permission.IsEnabled &&
+ await StateCheckerManager.IsEnabledAsync(permission) &&
+ permission.MultiTenancySide.HasFlag(multiTenancySide))
+ {
+ permissionDefinitions.Add(permission);
+ }
+ }
+
+ foreach (var provider in PermissionValueProviderManager.ValueProviders)
+ {
+ var permissions = permissionDefinitions
+ .Where(x => !x.Providers.Any() || x.Providers.Contains(provider.Name))
+ .ToList();
+
+ if (permissions.IsNullOrEmpty())
+ {
+ break;
+ }
+
+ var context = new PermissionValuesCheckContext(
+ permissions,
+ claimsPrincipal);
+
+ var multipleResult = await provider.CheckAsync(context);
+ foreach (var grantResult in multipleResult.Result.Where(grantResult =>
+ result.Result.ContainsKey(grantResult.Key) &&
+ result.Result[grantResult.Key] == PermissionGrantResult.Undefined &&
+ grantResult.Value != PermissionGrantResult.Undefined))
+ {
+ result.Result[grantResult.Key] = grantResult.Value;
+ permissionDefinitions.RemoveAll(x => x.Name == grantResult.Key);
+ }
+
+ if (result.AllGranted || result.AllProhibited)
+ {
+ break;
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionGrantCacheItem.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionGrantCacheItem.cs
new file mode 100644
index 000000000..2f7c61a56
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionGrantCacheItem.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Linq;
+using Volo.Abp.Text.Formatting;
+
+namespace WinIn.FasterZ.InterfaceDash.Permissions;
+
+[Serializable]
+public class PermissionGrantCacheItem
+{
+ private const string CacheKeyFormat = "pn:{0},pk:{1},n:{2}";
+
+ public bool IsGranted { get; set; }
+
+ public PermissionGrantCacheItem()
+ {
+
+ }
+
+ public PermissionGrantCacheItem(bool isGranted)
+ {
+ IsGranted = isGranted;
+ }
+
+ public static string CalculateCacheKey(string name, string providerName, string providerKey)
+ {
+ return string.Format(CacheKeyFormat, providerName, providerKey, name);
+ }
+
+ public static string GetPermissionNameFormCacheKeyOrNull(string cacheKey)
+ {
+ var result = FormattedStringValueExtracter.Extract(cacheKey, CacheKeyFormat, true);
+ return result.IsMatch ? result.Matches.Last().Value : null;
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionStore.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionStore.cs
new file mode 100644
index 000000000..76ad757b6
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionStore.cs
@@ -0,0 +1,148 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Logging.Abstractions;
+using Volo.Abp;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Caching;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.PermissionManagement;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions
+{
+ public class PermissionStore : IPermissionStore, ITransientDependency
+ {
+ public ILogger Logger { get; set; }
+
+ protected IPermissionGrantRepository PermissionGrantRepository { get; }
+
+ protected IPermissionDefinitionManager PermissionDefinitionManager { get; }
+
+ protected IDistributedCache Cache { get; }
+
+ public PermissionStore(IPermissionGrantRepository permissionGrantRepository, IDistributedCache cache, IPermissionDefinitionManager permissionDefinitionManager)
+ {
+ PermissionGrantRepository = permissionGrantRepository;
+ Cache = cache;
+ PermissionDefinitionManager = permissionDefinitionManager;
+ Logger = NullLogger.Instance;
+ }
+
+ public virtual async Task IsGrantedAsync(string name, string providerName, string providerKey)
+ {
+ return (await GetCacheItemAsync(name, providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false)).IsGranted;
+ }
+
+ protected virtual async Task GetCacheItemAsync(string name, string providerName, string providerKey)
+ {
+ string cacheKey = CalculateCacheKey(name, providerName, providerKey);
+ Logger.LogDebug("PermissionStore.GetCacheItemAsync: " + cacheKey);
+ PermissionGrantCacheItem cacheItem2 = await Cache.GetAsync(cacheKey).ConfigureAwait(continueOnCapturedContext: false);
+ if (cacheItem2 != null)
+ {
+ Logger.LogDebug("Found in the cache: " + cacheKey);
+ return cacheItem2;
+ }
+ Logger.LogDebug("Not found in the cache: " + cacheKey);
+ cacheItem2 = new PermissionGrantCacheItem(isGranted: false);
+ await SetCacheItemsAsync(providerName, providerKey, name, cacheItem2).ConfigureAwait(continueOnCapturedContext: false);
+ return cacheItem2;
+ }
+
+ protected virtual async Task SetCacheItemsAsync(string providerName, string providerKey, string currentName, PermissionGrantCacheItem currentCacheItem)
+ {
+ IReadOnlyList permissions = await PermissionDefinitionManager.GetPermissionsAsync().ConfigureAwait(continueOnCapturedContext: false);
+ Logger.LogDebug("Getting all granted permissions from the repository for this provider name,key: " + providerName + "," + providerKey);
+ HashSet hashSet = new HashSet((await PermissionGrantRepository.GetListAsync(providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false)).Select((p) => p.Name));
+ Logger.LogDebug($"Setting the cache items. Count: {permissions.Count}");
+ List> list = new List>();
+ foreach (PermissionDefinition item in permissions)
+ {
+ bool isGranted = hashSet.Contains(item.Name);
+ list.Add(new KeyValuePair(CalculateCacheKey(item.Name, providerName, providerKey), new PermissionGrantCacheItem(isGranted)));
+ if (item.Name == currentName)
+ {
+ currentCacheItem.IsGranted = isGranted;
+ }
+ }
+ await Cache.SetManyAsync(list).ConfigureAwait(continueOnCapturedContext: false);
+ Logger.LogDebug($"Finished setting the cache items. Count: {permissions.Count}");
+ }
+
+ public virtual async Task IsGrantedAsync(string[] names, string providerName, string providerKey)
+ {
+ Check.NotNullOrEmpty(names, "names");
+ MultiplePermissionGrantResult result = new MultiplePermissionGrantResult();
+ if (names.Length == 1)
+ {
+ string text = names.First();
+ Dictionary result2 = result.Result;
+ string key = text;
+ result2.Add(key, await IsGrantedAsync(names.First(), providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false) ? PermissionGrantResult.Granted : PermissionGrantResult.Undefined);
+ return result;
+ }
+ foreach (KeyValuePair item in await GetCacheItemsAsync(names, providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false))
+ {
+ result.Result.Add(GetPermissionNameFormCacheKeyOrNull(item.Key), item.Value != null && item.Value.IsGranted ? PermissionGrantResult.Granted : PermissionGrantResult.Undefined);
+ }
+ return result;
+ }
+
+ protected virtual async Task>> GetCacheItemsAsync(string[] names, string providerName, string providerKey)
+ {
+ List cacheKeys = names.Select((x) => CalculateCacheKey(x, providerName, providerKey)).ToList();
+ Logger.LogDebug("PermissionStore.GetCacheItemAsync: " + string.Join(",", cacheKeys));
+ List> cacheItems = (await Cache.GetManyAsync(cacheKeys).ConfigureAwait(continueOnCapturedContext: false)).ToList();
+ if (cacheItems.All((x) => x.Value != null))
+ {
+ Logger.LogDebug("Found in the cache: " + string.Join(",", cacheKeys));
+ return cacheItems;
+ }
+ List list = (from x in cacheItems
+ where x.Value == null
+ select x.Key).ToList();
+ Logger.LogDebug("Not found in the cache: " + string.Join(",", list));
+ List> source = await SetCacheItemsAsync(providerName, providerKey, list).ConfigureAwait(continueOnCapturedContext: false);
+ List> list2 = new List>();
+ foreach (string key in cacheKeys)
+ {
+ KeyValuePair keyValuePair = source.FirstOrDefault((x) => x.Key == key);
+ if (keyValuePair.Value == null)
+ {
+ keyValuePair = cacheItems.FirstOrDefault((x) => x.Key == key);
+ }
+ list2.Add(new KeyValuePair(key, keyValuePair.Value));
+ }
+ return list2;
+ }
+
+ protected virtual async Task>> SetCacheItemsAsync(string providerName, string providerKey, List notCacheKeys)
+ {
+ List permissions = (await PermissionDefinitionManager.GetPermissionsAsync().ConfigureAwait(continueOnCapturedContext: false)).Where((x) => notCacheKeys.Any((k) => GetPermissionNameFormCacheKeyOrNull(k) == x.Name)).ToList();
+ Logger.LogDebug("Getting not cache granted permissions from the repository for this provider name,key: " + providerName + "," + providerKey);
+ HashSet hashSet = new HashSet((await PermissionGrantRepository.GetListAsync(notCacheKeys.Select(new Func(GetPermissionNameFormCacheKeyOrNull)).ToArray(), providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false)).Select((p) => p.Name));
+ Logger.LogDebug($"Setting the cache items. Count: {permissions.Count}");
+ List> cacheItems = new List>();
+ foreach (PermissionDefinition item in permissions)
+ {
+ bool isGranted = hashSet.Contains(item.Name);
+ cacheItems.Add(new KeyValuePair(CalculateCacheKey(item.Name, providerName, providerKey), new PermissionGrantCacheItem(isGranted)));
+ }
+ await Cache.SetManyAsync(cacheItems).ConfigureAwait(continueOnCapturedContext: false);
+ Logger.LogDebug($"Finished setting the cache items. Count: {permissions.Count}");
+ return cacheItems;
+ }
+
+ protected virtual string CalculateCacheKey(string name, string providerName, string providerKey)
+ {
+ return PermissionGrantCacheItem.CalculateCacheKey(name, providerName, providerKey);
+ }
+
+ protected virtual string GetPermissionNameFormCacheKeyOrNull(string key)
+ {
+ return PermissionGrantCacheItem.GetPermissionNameFormCacheKeyOrNull(key);
+ }
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionStoreAppService.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionStoreAppService.cs
new file mode 100644
index 000000000..5673d22fc
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/PermissionStoreAppService.cs
@@ -0,0 +1,153 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Logging.Abstractions;
+using Volo.Abp;
+using Volo.Abp.Application.Services;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Caching;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.PermissionManagement;
+using PermissionGrantCacheItem = WinIn.FasterZ.InterfaceDash.Permissions.PermissionGrantCacheItem;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions
+{
+ public class PermissionStoreAppService : ApplicationService, IPermissionStore, ITransientDependency
+ {
+ public ILogger Logger { get; set; }
+
+ protected IPermissionGrantRepository PermissionGrantRepository { get; }
+
+ protected IPermissionDefinitionManager PermissionDefinitionManager { get; }
+
+ protected IDistributedCache Cache { get; }
+
+ public PermissionStoreAppService(IPermissionGrantRepository permissionGrantRepository, IDistributedCache cache, IPermissionDefinitionManager permissionDefinitionManager)
+ {
+ PermissionGrantRepository = permissionGrantRepository;
+ Cache = cache;
+ PermissionDefinitionManager = permissionDefinitionManager;
+ Logger = NullLogger.Instance;
+ }
+
+ [HttpPost]
+ [Route("api/permissions/get-isGranted")]
+ public virtual async Task IsGrantedAsync(string name, string providerName, string providerKey)
+ {
+ return (await GetCacheItemAsync(name, providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false)).IsGranted;
+ }
+
+ protected virtual async Task GetCacheItemAsync(string name, string providerName, string providerKey)
+ {
+ string cacheKey = CalculateCacheKey(name, providerName, providerKey);
+ Logger.LogDebug("PermissionStore.GetCacheItemAsync: " + cacheKey);
+ PermissionGrantCacheItem cacheItem2 = await Cache.GetAsync(cacheKey).ConfigureAwait(continueOnCapturedContext: false);
+ if (cacheItem2 != null)
+ {
+ Logger.LogDebug("Found in the cache: " + cacheKey);
+ return cacheItem2;
+ }
+ Logger.LogDebug("Not found in the cache: " + cacheKey);
+ cacheItem2 = new PermissionGrantCacheItem(isGranted: false);
+ await SetCacheItemsAsync(providerName, providerKey, name, cacheItem2).ConfigureAwait(continueOnCapturedContext: false);
+ return cacheItem2;
+ }
+
+ protected virtual async Task SetCacheItemsAsync(string providerName, string providerKey, string currentName, PermissionGrantCacheItem currentCacheItem)
+ {
+ IReadOnlyList permissions = PermissionDefinitionManager.GetPermissionsAsync().Result.ToList();
+ Logger.LogDebug("Getting all granted permissions from the repository for this provider name,key: " + providerName + "," + providerKey);
+ HashSet hashSet = new HashSet((await PermissionGrantRepository.GetListAsync(providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false)).Select((PermissionGrant p) => p.Name));
+ Logger.LogDebug($"Setting the cache items. Count: {permissions.Count}");
+ List> list = new List>();
+ foreach (PermissionDefinition item in permissions)
+ {
+ bool isGranted = hashSet.Contains(item.Name);
+ list.Add(new KeyValuePair(CalculateCacheKey(item.Name, providerName, providerKey), new PermissionGrantCacheItem(isGranted)));
+ if (item.Name == currentName)
+ {
+ currentCacheItem.IsGranted = isGranted;
+ }
+ }
+ await Cache.SetManyAsync(list).ConfigureAwait(continueOnCapturedContext: false);
+ Logger.LogDebug($"Finished setting the cache items. Count: {permissions.Count}");
+ }
+
+ public virtual async Task IsGrantedAsync(string[] names, string providerName, string providerKey)
+ {
+ Check.NotNullOrEmpty(names, "names");
+ MultiplePermissionGrantResult result = new MultiplePermissionGrantResult();
+ if (names.Length == 1)
+ {
+ string text = names.First();
+ Dictionary result2 = result.Result;
+ string key = text;
+ result2.Add(key, (await IsGrantedAsync(names.First(), providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false)) ? PermissionGrantResult.Granted : PermissionGrantResult.Undefined);
+ return result;
+ }
+ foreach (KeyValuePair item in await GetCacheItemsAsync(names, providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false))
+ {
+ result.Result.Add(GetPermissionNameFormCacheKeyOrNull(item.Key), (item.Value != null && item.Value.IsGranted) ? PermissionGrantResult.Granted : PermissionGrantResult.Undefined);
+ }
+ return result;
+ }
+
+ protected virtual async Task>> GetCacheItemsAsync(string[] names, string providerName, string providerKey)
+ {
+ List cacheKeys = names.Select((string x) => CalculateCacheKey(x, providerName, providerKey)).ToList();
+ Logger.LogDebug("PermissionStore.GetCacheItemAsync: " + string.Join(",", cacheKeys));
+ List> cacheItems = (await Cache.GetManyAsync(cacheKeys).ConfigureAwait(continueOnCapturedContext: false)).ToList();
+ if (cacheItems.All((KeyValuePair x) => x.Value != null))
+ {
+ Logger.LogDebug("Found in the cache: " + string.Join(",", cacheKeys));
+ return cacheItems;
+ }
+ List list = (from x in cacheItems
+ where x.Value == null
+ select x.Key).ToList();
+ Logger.LogDebug("Not found in the cache: " + string.Join(",", list));
+ List> source = await SetCacheItemsAsync(providerName, providerKey, list).ConfigureAwait(continueOnCapturedContext: false);
+ List> list2 = new List>();
+ foreach (string key in cacheKeys)
+ {
+ KeyValuePair keyValuePair = source.FirstOrDefault((KeyValuePair x) => x.Key == key);
+ if (keyValuePair.Value == null)
+ {
+ keyValuePair = cacheItems.FirstOrDefault((KeyValuePair x) => x.Key == key);
+ }
+ list2.Add(new KeyValuePair(key, keyValuePair.Value));
+ }
+ return list2;
+ }
+
+ protected virtual async Task>> SetCacheItemsAsync(string providerName, string providerKey, List notCacheKeys)
+ {
+ List permissions = PermissionDefinitionManager.GetPermissionsAsync().Result.ToList();
+ Logger.LogDebug("Getting not cache granted permissions from the repository for this provider name,key: " + providerName + "," + providerKey);
+ HashSet hashSet = new HashSet((await PermissionGrantRepository.GetListAsync(notCacheKeys.Select(new Func(GetPermissionNameFormCacheKeyOrNull)).ToArray(), providerName, providerKey).ConfigureAwait(continueOnCapturedContext: false)).Select((PermissionGrant p) => p.Name));
+ Logger.LogDebug($"Setting the cache items. Count: {permissions.Count}");
+ List> cacheItems = new List>();
+ foreach (PermissionDefinition item in permissions)
+ {
+ bool isGranted = hashSet.Contains(item.Name);
+ cacheItems.Add(new KeyValuePair(CalculateCacheKey(item.Name, providerName, providerKey), new PermissionGrantCacheItem(isGranted)));
+ }
+ await Cache.SetManyAsync(cacheItems).ConfigureAwait(continueOnCapturedContext: false);
+ Logger.LogDebug($"Finished setting the cache items. Count: {permissions.Count}");
+ return cacheItems;
+ }
+
+ protected virtual string CalculateCacheKey(string name, string providerName, string providerKey)
+ {
+ return PermissionGrantCacheItem.CalculateCacheKey(name, providerName, providerKey);
+ }
+
+ protected virtual string GetPermissionNameFormCacheKeyOrNull(string key)
+ {
+ return PermissionGrantCacheItem.GetPermissionNameFormCacheKeyOrNull(key);
+ }
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZAuthAppBuilderExtensions.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZAuthAppBuilderExtensions.cs
new file mode 100644
index 000000000..13db84260
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZAuthAppBuilderExtensions.cs
@@ -0,0 +1,25 @@
+using System;
+using Microsoft.AspNetCore.Builder;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions;
+
+public static class ZAuthAppBuilderExtensions
+{
+ internal const string AuthenticationMiddlewareSetKey = "__AuthenticationMiddlewareSet";
+
+ ///
+ /// Adds the to the specified , which enables authentication capabilities.
+ ///
+ /// The to add the middleware to.
+ /// A reference to this instance after the operation has completed.
+ public static IApplicationBuilder UseAuthenticationZ(this IApplicationBuilder app)
+ {
+ if (app == null)
+ {
+ throw new ArgumentNullException(nameof(app));
+ }
+
+ app.Properties[AuthenticationMiddlewareSetKey] = true;
+ return app.UseMiddleware();
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZAuthenticationMiddleware.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZAuthenticationMiddleware.cs
new file mode 100644
index 000000000..aa5a3e27b
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZAuthenticationMiddleware.cs
@@ -0,0 +1,91 @@
+using System;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authentication;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Http.Features.Authentication;
+using Microsoft.Extensions.DependencyInjection;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions;
+
+///
+/// Middleware that performs authentication.
+///
+public class ZAuthenticationMiddleware
+{
+ private readonly RequestDelegate _next;
+
+ ///
+ /// Initializes a new instance of .
+ ///
+ /// The next item in the middleware pipeline.
+ /// The .
+ public ZAuthenticationMiddleware(RequestDelegate next, IAuthenticationSchemeProvider schemes)
+ {
+ if (next == null)
+ {
+ throw new ArgumentNullException(nameof(next));
+ }
+ if (schemes == null)
+ {
+ throw new ArgumentNullException(nameof(schemes));
+ }
+
+ _next = next;
+ Schemes = schemes;
+ }
+
+ ///
+ /// Gets or sets the .
+ ///
+ public IAuthenticationSchemeProvider Schemes { get; set; }
+
+ ///
+ /// Invokes the middleware performing authentication.
+ ///
+ /// The .
+ public async Task Invoke(HttpContext context)
+ {
+ context.Features.Set(new AuthenticationFeature
+ {
+ OriginalPath = context.Request.Path,
+ OriginalPathBase = context.Request.PathBase
+ });
+
+ // Give any IAuthenticationRequestHandler schemes a chance to handle the request
+ var handlers = context.RequestServices.GetRequiredService();
+ foreach (var scheme in await Schemes.GetRequestHandlerSchemesAsync())
+ {
+ var handler = await handlers.GetHandlerAsync(context, scheme.Name) as IAuthenticationRequestHandler;
+ if (handler != null && await handler.HandleRequestAsync())
+ {
+ return;
+ }
+ }
+
+ var defaultAuthenticate = await Schemes.GetDefaultAuthenticateSchemeAsync();
+ if (defaultAuthenticate != null)
+ {
+ var result = await context.AuthenticateAsync(defaultAuthenticate.Name);
+ if (result?.Principal == null)
+ {
+ result = await context.AuthenticateAsync("Identity.Application");
+ }
+ if (result?.Principal == null)
+ {
+ result = await context.AuthenticateAsync("Bearer");
+ }
+ if (result?.Principal != null)
+ {
+ context.User = result.Principal;
+ }
+ if (result?.Succeeded ?? false)
+ {
+ var authFeatures = new AuthenticationFeatures(result);
+ context.Features.Set(authFeatures);
+ context.Features.Set(authFeatures);
+ }
+ }
+
+ await _next(context);
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZRolePermissionValueProvider.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZRolePermissionValueProvider.cs
new file mode 100644
index 000000000..aa06f6246
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Permissions/ZRolePermissionValueProvider.cs
@@ -0,0 +1,89 @@
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Claims;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Security.Claims;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Permissions;
+
+public class ZRolePermissionValueProvider : PermissionValueProvider
+{
+ public const string ProviderName = "R";
+
+ public override string Name => ProviderName;
+
+ public ZRolePermissionValueProvider(IPermissionStore permissionStore)
+ : base(permissionStore)
+ {
+
+ }
+
+ public override async Task CheckAsync(PermissionValueCheckContext context)
+ {
+ var roles = context.Principal?.FindAll(ClaimTypes.Role).Select(c => c.Value).ToArray();
+ if (roles == null || !roles.Any())
+ {
+ roles = context.Principal?.FindAll(AbpClaimTypes.Role).Select(c => c.Value).ToArray();
+ }
+ if (roles == null || !roles.Any())
+ {
+ return PermissionGrantResult.Undefined;
+ }
+
+ foreach (var role in roles.Distinct())
+ {
+ if (await PermissionStore.IsGrantedAsync(context.Permission.Name, Name, role))
+ {
+ return PermissionGrantResult.Granted;
+ }
+ }
+
+ return PermissionGrantResult.Undefined;
+ }
+
+ public override async Task CheckAsync(PermissionValuesCheckContext context)
+ {
+ var permissionNames = context.Permissions.Select(x => x.Name).Distinct().ToList();
+ Check.NotNullOrEmpty(permissionNames, nameof(permissionNames));
+
+ var result = new MultiplePermissionGrantResult(permissionNames.ToArray());
+
+ var roles = context.Principal?.FindAll(ClaimTypes.Role).Select(c => c.Value).ToArray();
+ if (roles == null || !roles.Any())
+ {
+ roles = context.Principal?.FindAll(AbpClaimTypes.Role).Select(c => c.Value).ToArray();
+ }
+ if (roles == null || !roles.Any())
+ {
+ return result;
+ }
+
+ foreach (var role in roles.Distinct())
+ {
+ var multipleResult = await PermissionStore.IsGrantedAsync(permissionNames.ToArray(), Name, role);
+
+ foreach (var grantResult in multipleResult.Result.Where(grantResult =>
+ result.Result.ContainsKey(grantResult.Key) &&
+ result.Result[grantResult.Key] == PermissionGrantResult.Undefined &&
+ grantResult.Value != PermissionGrantResult.Undefined))
+ {
+ result.Result[grantResult.Key] = grantResult.Value;
+ permissionNames.RemoveAll(x => x == grantResult.Key);
+ }
+
+ if (result.AllGranted || result.AllProhibited)
+ {
+ break;
+ }
+
+ if (permissionNames.IsNullOrEmpty())
+ {
+ break;
+ }
+ }
+
+ return result;
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Properties/AssemblyInfo.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..d9ed0edae
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/Properties/AssemblyInfo.cs
@@ -0,0 +1,2 @@
+using System.Runtime.CompilerServices;
+[assembly:InternalsVisibleToAttribute("WinIn.FasterZ.AuthSiteCenter.Application.Tests")]
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/WinIn.FasterZ.AuthSiteCenter.Application.csproj b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/WinIn.FasterZ.AuthSiteCenter.Application.csproj
new file mode 100644
index 000000000..76b4c1fc5
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Application/WinIn.FasterZ.AuthSiteCenter.Application.csproj
@@ -0,0 +1,37 @@
+
+
+
+
+
+ net7.0
+ enable
+ WinIn.FasterZ.AuthSiteCenter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\7.0.10\Microsoft.AspNetCore.Authentication.dll
+
+
+ C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App\7.0.10\Microsoft.AspNetCore.Authentication.Cookies.dll
+
+
+
+
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/AuthSiteCenterDbMigratorModule.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/AuthSiteCenterDbMigratorModule.cs
new file mode 100644
index 000000000..510fb585f
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/AuthSiteCenterDbMigratorModule.cs
@@ -0,0 +1,14 @@
+using WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore;
+using Volo.Abp.Autofac;
+using Volo.Abp.Modularity;
+
+namespace WinIn.FasterZ.AuthSiteCenter.DbMigrator;
+
+[DependsOn(
+ typeof(AbpAutofacModule),
+ typeof(AuthSiteCenterEntityFrameworkCoreModule),
+ typeof(AuthSiteCenterApplicationContractsModule)
+ )]
+public class AuthSiteCenterDbMigratorModule : AbpModule
+{
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/DbMigratorHostedService.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/DbMigratorHostedService.cs
new file mode 100644
index 000000000..fe2e7d567
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/DbMigratorHostedService.cs
@@ -0,0 +1,51 @@
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using WinIn.FasterZ.AuthSiteCenter.Data;
+using Serilog;
+using Volo.Abp;
+using Volo.Abp.Data;
+
+namespace WinIn.FasterZ.AuthSiteCenter.DbMigrator;
+
+public class DbMigratorHostedService : IHostedService
+{
+ private readonly IHostApplicationLifetime _hostApplicationLifetime;
+ private readonly IConfiguration _configuration;
+
+ public DbMigratorHostedService(IHostApplicationLifetime hostApplicationLifetime, IConfiguration configuration)
+ {
+ _hostApplicationLifetime = hostApplicationLifetime;
+ _configuration = configuration;
+ }
+
+ public async Task StartAsync(CancellationToken cancellationToken)
+ {
+ using (var application = await AbpApplicationFactory.CreateAsync(options =>
+ {
+ options.Services.ReplaceConfiguration(_configuration);
+ options.UseAutofac();
+ options.Services.AddLogging(c => c.AddSerilog());
+ options.AddDataMigrationEnvironment();
+ }))
+ {
+ await application.InitializeAsync();
+
+ await application
+ .ServiceProvider
+ .GetRequiredService()
+ .MigrateAsync();
+
+ await application.ShutdownAsync();
+
+ _hostApplicationLifetime.StopApplication();
+ }
+ }
+
+ public Task StopAsync(CancellationToken cancellationToken)
+ {
+ return Task.CompletedTask;
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/Program.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/Program.cs
new file mode 100644
index 000000000..41efd6a77
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/Program.cs
@@ -0,0 +1,41 @@
+using System.IO;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Serilog;
+using Serilog.Events;
+
+namespace WinIn.FasterZ.AuthSiteCenter.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("WinIn.FasterZ.AuthSiteCenter", LogEventLevel.Debug)
+#else
+ .MinimumLevel.Override("WinIn.FasterZ.AuthSiteCenter", 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)
+ .AddAppSettingsSecretsJson()
+ .ConfigureLogging((context, logging) => logging.ClearProviders())
+ .ConfigureServices((hostContext, services) =>
+ {
+ services.AddHostedService();
+ });
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/WinIn.FasterZ.AuthSiteCenter.DbMigrator.csproj b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/WinIn.FasterZ.AuthSiteCenter.DbMigrator.csproj
new file mode 100644
index 000000000..bb40fc185
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/WinIn.FasterZ.AuthSiteCenter.DbMigrator.csproj
@@ -0,0 +1,45 @@
+
+
+
+
+
+ Exe
+ net7.0
+ enable
+
+
+
+
+
+ PreserveNewest
+ Always
+
+
+
+ PreserveNewest
+ Always
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/appsettings.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/appsettings.json
new file mode 100644
index 000000000..d7abe81d2
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/appsettings.json
@@ -0,0 +1,30 @@
+{
+ "ConnectionStrings": {
+ "Default": "Server=dev.ccwin-in.com,13319;Database=WMS_DongYang_Faster_AuthSiteCenter;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;Encrypt=False;"
+ },
+ "Redis": {
+ "Configuration": "127.0.0.1"
+ },
+ "OpenIddict": {
+ "Applications": {
+ "AuthSiteCenter_Web": {
+ "ClientId": "AuthSiteCenter_Web",
+ "ClientSecret": "1q2w3e*",
+ "RootUrl": "http://localhost:60020"
+ },
+ "AuthSiteCenter_App": {
+ "ClientId": "AuthSiteCenter_App",
+ "RootUrl": "http://localhost:4200"
+ },
+ "AuthSiteCenter_BlazorServerTiered": {
+ "ClientId": "AuthSiteCenter_BlazorServerTiered",
+ "ClientSecret": "1q2w3e*",
+ "RootUrl": "https://localhost:44316"
+ },
+ "AuthSiteCenter_Swagger": {
+ "ClientId": "AuthSiteCenter_Swagger",
+ "RootUrl": "https://localhost:44326"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/appsettings.secrets.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/appsettings.secrets.json
new file mode 100644
index 000000000..7a73a41bf
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.DbMigrator/appsettings.secrets.json
@@ -0,0 +1,2 @@
+{
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterDomainErrorCodes.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterDomainErrorCodes.cs
new file mode 100644
index 000000000..67ffb2213
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterDomainErrorCodes.cs
@@ -0,0 +1,6 @@
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+public static class AuthSiteCenterDomainErrorCodes
+{
+ /* You can add your business exception error codes here, as constants */
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterDomainSharedModule.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterDomainSharedModule.cs
new file mode 100644
index 000000000..3e17da7bd
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterDomainSharedModule.cs
@@ -0,0 +1,58 @@
+using WinIn.FasterZ.AuthSiteCenter.Localization;
+using Volo.Abp.AuditLogging;
+using Volo.Abp.BackgroundJobs;
+using Volo.Abp.FeatureManagement;
+using Volo.Abp.Identity;
+using Volo.Abp.Localization;
+using Volo.Abp.Localization.ExceptionHandling;
+using Volo.Abp.Modularity;
+using Volo.Abp.OpenIddict;
+using Volo.Abp.PermissionManagement;
+using Volo.Abp.SettingManagement;
+using Volo.Abp.TenantManagement;
+using Volo.Abp.Validation.Localization;
+using Volo.Abp.VirtualFileSystem;
+
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+[DependsOn(
+ typeof(AbpAuditLoggingDomainSharedModule),
+ typeof(AbpBackgroundJobsDomainSharedModule),
+ typeof(AbpFeatureManagementDomainSharedModule),
+ typeof(AbpIdentityDomainSharedModule),
+ typeof(AbpOpenIddictDomainSharedModule),
+ typeof(AbpPermissionManagementDomainSharedModule),
+ typeof(AbpSettingManagementDomainSharedModule),
+ typeof(AbpTenantManagementDomainSharedModule)
+ )]
+public class AuthSiteCenterDomainSharedModule : AbpModule
+{
+ public override void PreConfigureServices(ServiceConfigurationContext context)
+ {
+ AuthSiteCenterGlobalFeatureConfigurator.Configure();
+ AuthSiteCenterModuleExtensionConfigurator.Configure();
+ }
+
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ options.FileSets.AddEmbedded();
+ });
+
+ Configure(options =>
+ {
+ options.Resources
+ .Add("en")
+ .AddBaseTypes(typeof(AbpValidationResource))
+ .AddVirtualJson("/Localization/AuthSiteCenter");
+
+ options.DefaultResourceType = typeof(AuthSiteCenterResource);
+ });
+
+ Configure(options =>
+ {
+ options.MapCodeNamespace("AuthSiteCenter", typeof(AuthSiteCenterResource));
+ });
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterGlobalFeatureConfigurator.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterGlobalFeatureConfigurator.cs
new file mode 100644
index 000000000..6fab429d6
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterGlobalFeatureConfigurator.cs
@@ -0,0 +1,22 @@
+using Volo.Abp.Threading;
+
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+public static class AuthSiteCenterGlobalFeatureConfigurator
+{
+ 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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterModuleExtensionConfigurator.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterModuleExtensionConfigurator.cs
new file mode 100644
index 000000000..c03e8df1f
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/AuthSiteCenterModuleExtensionConfigurator.cs
@@ -0,0 +1,73 @@
+using System.ComponentModel.DataAnnotations;
+using Volo.Abp.Identity;
+using Volo.Abp.ObjectExtending;
+using Volo.Abp.Threading;
+
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+public static class AuthSiteCenterModuleExtensionConfigurator
+{
+ 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});
+
+ property.Configuration[IdentityModuleExtensionConsts.ConfigurationNames.AllowUserToEdit] = true;
+
+ //...other configurations for this property
+ }
+ );
+ });
+ });
+
+ * See the documentation for more:
+ * https://docs.abp.io/en/abp/latest/Module-Entity-Extensions
+ */
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ar.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ar.json
new file mode 100644
index 000000000..96bbf80b4
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ar.json
@@ -0,0 +1,8 @@
+{
+ "culture": "ar",
+ "texts": {
+ "Menu:Home": "الرئيسية",
+ "Menu:Home": "Ø§Ù„ØµÙØØ© الرئيسية",
+ "LongWelcomeMessage": "Ù…Ø±ØØ¨Ø§ بكم ÙÙŠ التطبيق. هذا مشروع بدء تشغيل يعتمد على إطار عمل ABP. لمزيد من المعلومات ØŒ يرجى زيارة abp.io."
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/cs.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/cs.json
new file mode 100644
index 000000000..5a0bbf613
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/cs.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/de.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/de.json
new file mode 100644
index 000000000..831493be8
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/de.json
@@ -0,0 +1,8 @@
+{
+ "culture": "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/en-GB.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/en-GB.json
new file mode 100644
index 000000000..d2ca0793a
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/en-GB.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/en.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/en.json
new file mode 100644
index 000000000..d2a6a9831
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/en.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/es.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/es.json
new file mode 100644
index 000000000..31b4b59e2
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/es.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/fi.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/fi.json
new file mode 100644
index 000000000..a318859f2
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/fi.json
@@ -0,0 +1,8 @@
+{
+ "culture": "fi",
+ "texts": {
+ "Menu:Home": "Koti",
+ "Welcome": "Tervetuloa",
+ "LongWelcomeMessage": "Tervetuloa sovellukseen. Tämä on ABP-kehykseen perustuva käynnistysprojekti. Lisätietoja on osoitteessa abp.io."
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/fr.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/fr.json
new file mode 100644
index 000000000..e76eac0c7
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/fr.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hi.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hi.json
new file mode 100644
index 000000000..a1676bfd4
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hi.json
@@ -0,0 +1,8 @@
+{
+ "culture": "hi",
+ "texts": {
+ "Menu:Home": "घर",
+ "Welcome": "सà¥à¤µà¤¾à¤—त हे",
+ "LongWelcomeMessage": "आवेदन करने के लिठआपका सà¥à¤µà¤¾à¤—त है। यह à¤à¤¬à¥€à¤ªà¥€ ढांचे पर आधारित à¤à¤• सà¥à¤Ÿà¤¾à¤°à¥à¤Ÿà¤…प परियोजना है। अधिक जानकारी के लिà¤, abp.io पर जाà¤à¤‚।"
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hr.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hr.json
new file mode 100644
index 000000000..fa8efab32
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hr.json
@@ -0,0 +1,8 @@
+{
+ "culture": "hr",
+ "texts": {
+ "Menu:Home": "PoÄetna",
+ "Welcome": "Dobrodošli",
+ "LongWelcomeMessage": "Dobrodošli u aplikaciju. Ovo je startup projekt temeljen na ABP framework-u. Za više informacija posjetite abp.io."
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hu.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hu.json
new file mode 100644
index 000000000..c7b6a33a0
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/hu.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/is.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/is.json
new file mode 100644
index 000000000..190df9037
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/is.json
@@ -0,0 +1,8 @@
+{
+ "culture": "is",
+ "texts": {
+ "Menu:Home": "Heim",
+ "Welcome": "Velkomin",
+ "LongWelcomeMessage": "Verið velkomin à forritið. Þetta er startup verkefni sem byggir á ABP. Nánari upplýsingar er að finna á abp.io."
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/it.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/it.json
new file mode 100644
index 000000000..82ce42b03
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/it.json
@@ -0,0 +1,8 @@
+{
+ "culture": "it",
+ "texts": {
+ "Menu:Home": "Home",
+ "Welcome": "Benvenuto",
+ "LongWelcomeMessage": "Benvenuto nell'applicazione. Questo è un progetto di avvio basato sul framework ABP. Per ulteriori informazioni, visita abp.io."
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/nl.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/nl.json
new file mode 100644
index 000000000..9ba8da474
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/nl.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/pl-PL.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/pl-PL.json
new file mode 100644
index 000000000..33412f307
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/pl-PL.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/pt-BR.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/pt-BR.json
new file mode 100644
index 000000000..8c818a07a
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/pt-BR.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ro-RO.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ro-RO.json
new file mode 100644
index 000000000..1fe560196
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ro-RO.json
@@ -0,0 +1,8 @@
+{
+ "culture": "ro-RO",
+ "texts": {
+ "Menu:Home": "Acasă",
+ "Welcome": "Bun venit",
+ "LongWelcomeMessage": "Bun venit la aplicaţie. Acesta este un proiect de pornire bazat pe framework-ul ABP. Pentru mai multe informaţii, vizitaţi, visit abp.io."
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ru.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ru.json
new file mode 100644
index 000000000..8464e4434
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/ru.json
@@ -0,0 +1,8 @@
+{
+ "culture": "ru",
+ "texts": {
+ "Menu:Home": "ГлавнаÑ",
+ "Welcome": "Добро пожаловать",
+ "LongWelcomeMessage": "Добро пожаловать в приложение. Ðтот запущенный проект оÑнован на фреймворке ABP. Ð”Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации поÑетите Ñайт abp.io."
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/sk.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/sk.json
new file mode 100644
index 000000000..4f35aaf1c
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/sk.json
@@ -0,0 +1,8 @@
+{
+ "culture": "sk",
+ "texts": {
+ "Menu:Home": "Domov",
+ "Welcome": "Vitajte",
+ "LongWelcomeMessage": "Vitajte v aplikácii. Toto je štartovacà projekt založený na ABP frameworku. Viac informácià nájdete na stránke abp.io."
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/sl.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/sl.json
new file mode 100644
index 000000000..a066ef26b
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/sl.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/tr.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/tr.json
new file mode 100644
index 000000000..2cc911e48
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/tr.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/vi.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/vi.json
new file mode 100644
index 000000000..c115a3572
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/vi.json
@@ -0,0 +1,8 @@
+{
+ "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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/zh-Hans.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/zh-Hans.json
new file mode 100644
index 000000000..23790bde5
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/zh-Hans.json
@@ -0,0 +1,8 @@
+{
+ "culture": "zh-Hans",
+ "texts": {
+ "Menu:Home": "首页",
+ "Welcome": "欢迎",
+ "LongWelcomeMessage": "欢迎æ¥åˆ°è¯¥åº”用程åº. 这是一个基于ABP框架的å¯åŠ¨é¡¹ç›®. 有关更多信æ¯, 请访问 abp.io."
+ }
+ }
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/zh-Hant.json b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/zh-Hant.json
new file mode 100644
index 000000000..31e0ab5a4
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenter/zh-Hant.json
@@ -0,0 +1,8 @@
+{
+ "culture": "zh-Hant",
+ "texts": {
+ "Menu:Home": "首é ",
+ "Welcome": "æ¡è¿Ž",
+ "LongWelcomeMessage": "æ¡è¿Žä¾†åˆ°æ¤æ‡‰ç”¨ç¨‹å¼. 這是一個基於ABP框架的起始專案. 有關更多訊æ¯, è«‹ç€è¦½ abp.io."
+ }
+ }
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenterResource.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenterResource.cs
new file mode 100644
index 000000000..10c5cec4f
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/Localization/AuthSiteCenterResource.cs
@@ -0,0 +1,9 @@
+using Volo.Abp.Localization;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Localization;
+
+[LocalizationResourceName("AuthSiteCenter")]
+public class AuthSiteCenterResource
+{
+
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs
new file mode 100644
index 000000000..d18d866d3
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs
@@ -0,0 +1,10 @@
+namespace WinIn.FasterZ.AuthSiteCenter.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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/WinIn.FasterZ.AuthSiteCenter.Domain.Shared.csproj b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/WinIn.FasterZ.AuthSiteCenter.Domain.Shared.csproj
new file mode 100644
index 000000000..03a20993e
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain.Shared/WinIn.FasterZ.AuthSiteCenter.Domain.Shared.csproj
@@ -0,0 +1,32 @@
+
+
+
+
+
+ netstandard2.0;netstandard2.1;net7.0
+ enable
+ WinIn.FasterZ.AuthSiteCenter
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/AuthSiteCenterConsts.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/AuthSiteCenterConsts.cs
new file mode 100644
index 000000000..a21ea964b
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/AuthSiteCenterConsts.cs
@@ -0,0 +1,8 @@
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+public static class AuthSiteCenterConsts
+{
+ public const string DbTablePrefix = "App";
+
+ public const string DbSchema = null;
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/AuthSiteCenterDomainModule.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/AuthSiteCenterDomainModule.cs
new file mode 100644
index 000000000..29a8c742c
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/AuthSiteCenterDomainModule.cs
@@ -0,0 +1,68 @@
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.DependencyInjection.Extensions;
+using WinIn.FasterZ.AuthSiteCenter.MultiTenancy;
+using Volo.Abp.AuditLogging;
+using Volo.Abp.BackgroundJobs;
+using Volo.Abp.Emailing;
+using Volo.Abp.FeatureManagement;
+using Volo.Abp.Identity;
+using Volo.Abp.Localization;
+using Volo.Abp.Modularity;
+using Volo.Abp.MultiTenancy;
+using Volo.Abp.OpenIddict;
+using Volo.Abp.PermissionManagement.Identity;
+using Volo.Abp.PermissionManagement.OpenIddict;
+using Volo.Abp.SettingManagement;
+using Volo.Abp.TenantManagement;
+
+namespace WinIn.FasterZ.AuthSiteCenter;
+
+[DependsOn(
+ typeof(AuthSiteCenterDomainSharedModule),
+ typeof(AbpAuditLoggingDomainModule),
+ typeof(AbpBackgroundJobsDomainModule),
+ typeof(AbpFeatureManagementDomainModule),
+ typeof(AbpIdentityDomainModule),
+ typeof(AbpOpenIddictDomainModule),
+ typeof(AbpPermissionManagementDomainOpenIddictModule),
+ typeof(AbpPermissionManagementDomainIdentityModule),
+ typeof(AbpSettingManagementDomainModule),
+ typeof(AbpTenantManagementDomainModule),
+ typeof(AbpEmailingModule)
+)]
+public class AuthSiteCenterDomainModule : AbpModule
+{
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ Configure(options =>
+ {
+ options.Languages.Add(new LanguageInfo("ar", "ar", "العربية", "ae"));
+ options.Languages.Add(new LanguageInfo("cs", "cs", "Čeština"));
+ options.Languages.Add(new LanguageInfo("en", "en", "English", "gb"));
+ options.Languages.Add(new LanguageInfo("en-GB", "en-GB", "English (UK)"));
+ options.Languages.Add(new LanguageInfo("hu", "hu", "Magyar"));
+ options.Languages.Add(new LanguageInfo("hr", "hr", "Croatian"));
+ options.Languages.Add(new LanguageInfo("fi", "fi", "Finnish", "fi"));
+ options.Languages.Add(new LanguageInfo("fr", "fr", "Français", "fr"));
+ options.Languages.Add(new LanguageInfo("hi", "hi", "Hindi", "in"));
+ options.Languages.Add(new LanguageInfo("it", "it", "Italiano", "it"));
+ options.Languages.Add(new LanguageInfo("pt-BR", "pt-BR", "Português"));
+ options.Languages.Add(new LanguageInfo("ru", "ru", "РуÑÑкий", "ru"));
+ options.Languages.Add(new LanguageInfo("sk", "sk", "Slovak", "sk"));
+ options.Languages.Add(new LanguageInfo("tr", "tr", "Türkçe", "tr"));
+ 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"));
+ });
+
+ Configure(options =>
+ {
+ options.IsEnabled = MultiTenancyConsts.IsEnabled;
+ });
+
+#if DEBUG
+ context.Services.Replace(ServiceDescriptor.Singleton());
+#endif
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/AuthSiteCenterDbMigrationService.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/AuthSiteCenterDbMigrationService.cs
new file mode 100644
index 000000000..d0f7da8ab
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/AuthSiteCenterDbMigrationService.cs
@@ -0,0 +1,218 @@
+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 WinIn.FasterZ.AuthSiteCenter.Data;
+
+public class AuthSiteCenterDbMigrationService : ITransientDependency
+{
+ public ILogger Logger { get; set; }
+
+ private readonly IDataSeeder _dataSeeder;
+ private readonly IEnumerable _dbSchemaMigrators;
+ private readonly ITenantRepository _tenantRepository;
+ private readonly ICurrentTenant _currentTenant;
+
+ public AuthSiteCenterDbMigrationService(
+ 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 = GetEntityFrameworkCoreProjectFolderPath();
+
+ return dbMigrationsProjectFolder != null;
+ }
+
+ private bool MigrationsFolderExists()
+ {
+ var dbMigrationsProjectFolder = GetEntityFrameworkCoreProjectFolderPath();
+ return dbMigrationsProjectFolder != null && 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 \"{GetEntityFrameworkCoreProjectFolderPath()}\"\""
+ );
+
+ try
+ {
+ Process.Start(procStartInfo);
+ }
+ catch (Exception)
+ {
+ throw new Exception("Couldn't run ABP CLI...");
+ }
+ }
+
+ private string? GetEntityFrameworkCoreProjectFolderPath()
+ {
+ 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(".EntityFrameworkCore"));
+ }
+
+ private string? GetSolutionDirectoryPath()
+ {
+ var currentDirectory = new DirectoryInfo(Directory.GetCurrentDirectory());
+
+ while (currentDirectory != null && Directory.GetParent(currentDirectory.FullName) != null)
+ {
+ currentDirectory = Directory.GetParent(currentDirectory.FullName);
+
+ if (currentDirectory != null && Directory.GetFiles(currentDirectory.FullName).FirstOrDefault(f => f.EndsWith(".sln")) != null)
+ {
+ return currentDirectory.FullName;
+ }
+ }
+
+ return null;
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/IAuthSiteCenterDbSchemaMigrator.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/IAuthSiteCenterDbSchemaMigrator.cs
new file mode 100644
index 000000000..e2acb3cf4
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/IAuthSiteCenterDbSchemaMigrator.cs
@@ -0,0 +1,8 @@
+using System.Threading.Tasks;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Data;
+
+public interface IAuthSiteCenterDbSchemaMigrator
+{
+ Task MigrateAsync();
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/NullAuthSiteCenterDbSchemaMigrator.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/NullAuthSiteCenterDbSchemaMigrator.cs
new file mode 100644
index 000000000..794fbae5c
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Data/NullAuthSiteCenterDbSchemaMigrator.cs
@@ -0,0 +1,15 @@
+using System.Threading.Tasks;
+using Volo.Abp.DependencyInjection;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Data;
+
+/* This is used if database provider does't define
+ * IAuthSiteCenterDbSchemaMigrator implementation.
+ */
+public class NullAuthSiteCenterDbSchemaMigrator : IAuthSiteCenterDbSchemaMigrator, ITransientDependency
+{
+ public Task MigrateAsync()
+ {
+ return Task.CompletedTask;
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/OpenIddict/OpenIddictDataSeedContributor.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/OpenIddict/OpenIddictDataSeedContributor.cs
new file mode 100644
index 000000000..07536b639
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/OpenIddict/OpenIddictDataSeedContributor.cs
@@ -0,0 +1,415 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text.Json;
+using System.Threading.Tasks;
+using JetBrains.Annotations;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.Localization;
+using OpenIddict.Abstractions;
+using Volo.Abp;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.OpenIddict.Applications;
+using Volo.Abp.OpenIddict.Scopes;
+using Volo.Abp.PermissionManagement;
+using Volo.Abp.Uow;
+
+namespace WinIn.FasterZ.AuthSiteCenter.OpenIddict;
+
+/* Creates initial data that is needed to property run the application
+ * and make client-to-server communication possible.
+ */
+public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDependency
+{
+ private readonly IConfiguration _configuration;
+ private readonly IOpenIddictApplicationRepository _openIddictApplicationRepository;
+ private readonly IAbpApplicationManager _applicationManager;
+ private readonly IOpenIddictScopeRepository _openIddictScopeRepository;
+ private readonly IOpenIddictScopeManager _scopeManager;
+ private readonly IPermissionDataSeeder _permissionDataSeeder;
+ private readonly IStringLocalizer L;
+
+ public OpenIddictDataSeedContributor(
+ IConfiguration configuration,
+ IOpenIddictApplicationRepository openIddictApplicationRepository,
+ IAbpApplicationManager applicationManager,
+ IOpenIddictScopeRepository openIddictScopeRepository,
+ IOpenIddictScopeManager scopeManager,
+ IPermissionDataSeeder permissionDataSeeder,
+ IStringLocalizer l )
+ {
+ _configuration = configuration;
+ _openIddictApplicationRepository = openIddictApplicationRepository;
+ _applicationManager = applicationManager;
+ _openIddictScopeRepository = openIddictScopeRepository;
+ _scopeManager = scopeManager;
+ _permissionDataSeeder = permissionDataSeeder;
+ L = l;
+ }
+
+ [UnitOfWork]
+ public virtual async Task SeedAsync(DataSeedContext context)
+ {
+ await CreateScopesAsync();
+ await CreateApplicationsAsync();
+ }
+
+ private async Task CreateScopesAsync()
+ {
+ if (await _openIddictScopeRepository.FindByNameAsync("AuthSiteCenter") == null)
+ {
+ await _scopeManager.CreateAsync(new OpenIddictScopeDescriptor {
+ Name = "AuthSiteCenter", DisplayName = "AuthSiteCenter API", Resources = { "AuthSiteCenter" }
+ });
+ }
+ }
+
+ private async Task CreateApplicationsAsync()
+ {
+ var commonScopes = new List {
+ OpenIddictConstants.Permissions.Scopes.Address,
+ OpenIddictConstants.Permissions.Scopes.Email,
+ OpenIddictConstants.Permissions.Scopes.Phone,
+ OpenIddictConstants.Permissions.Scopes.Profile,
+ OpenIddictConstants.Permissions.Scopes.Roles,
+ "AuthSiteCenter"
+ };
+
+ var configurationSection = _configuration.GetSection("OpenIddict:Applications");
+
+ //Web Client
+ var webClientId = configurationSection["AuthSiteCenter_Web:ClientId"];
+ if (!webClientId.IsNullOrWhiteSpace())
+ {
+ var webClientRootUrl = configurationSection["AuthSiteCenter_Web:RootUrl"].EnsureEndsWith('/');
+
+ /* AuthSiteCenter_Web client is only needed if you created a tiered
+ * solution. Otherwise, you can delete this client. */
+ await CreateApplicationAsync(
+ name: webClientId!,
+ type: OpenIddictConstants.ClientTypes.Confidential,
+ consentType: OpenIddictConstants.ConsentTypes.Implicit,
+ displayName: "Web Application",
+ secret: configurationSection["AuthSiteCenter_Web:ClientSecret"] ?? "1q2w3e*",
+ grantTypes: new List //Hybrid flow
+ {
+ OpenIddictConstants.GrantTypes.AuthorizationCode, OpenIddictConstants.GrantTypes.Implicit
+ },
+ scopes: commonScopes,
+ redirectUri: $"{webClientRootUrl}signin-oidc",
+ clientUri: webClientRootUrl,
+ postLogoutRedirectUri: $"{webClientRootUrl}signout-callback-oidc"
+ );
+ }
+
+ //Console Test / Angular Client
+ var consoleAndAngularClientId = configurationSection["AuthSiteCenter_App:ClientId"];
+ if (!consoleAndAngularClientId.IsNullOrWhiteSpace())
+ {
+ var consoleAndAngularClientRootUrl = configurationSection["AuthSiteCenter_App:RootUrl"]?.TrimEnd('/');
+ await CreateApplicationAsync(
+ name: consoleAndAngularClientId!,
+ type: OpenIddictConstants.ClientTypes.Public,
+ consentType: OpenIddictConstants.ConsentTypes.Implicit,
+ displayName: "Console Test / Angular Application",
+ secret: null,
+ grantTypes: new List {
+ OpenIddictConstants.GrantTypes.AuthorizationCode,
+ OpenIddictConstants.GrantTypes.Password,
+ OpenIddictConstants.GrantTypes.ClientCredentials,
+ OpenIddictConstants.GrantTypes.RefreshToken
+ },
+ scopes: commonScopes,
+ redirectUri: consoleAndAngularClientRootUrl,
+ clientUri: consoleAndAngularClientRootUrl,
+ postLogoutRedirectUri: consoleAndAngularClientRootUrl
+ );
+ }
+
+ // Blazor Client
+ var blazorClientId = configurationSection["AuthSiteCenter_Blazor:ClientId"];
+ if (!blazorClientId.IsNullOrWhiteSpace())
+ {
+ var blazorRootUrl = configurationSection["AuthSiteCenter_Blazor:RootUrl"]?.TrimEnd('/');
+
+ await CreateApplicationAsync(
+ name: blazorClientId!,
+ type: OpenIddictConstants.ClientTypes.Public,
+ consentType: OpenIddictConstants.ConsentTypes.Implicit,
+ displayName: "Blazor Application",
+ secret: null,
+ grantTypes: new List { OpenIddictConstants.GrantTypes.AuthorizationCode, },
+ scopes: commonScopes,
+ redirectUri: $"{blazorRootUrl}/authentication/login-callback",
+ clientUri: blazorRootUrl,
+ postLogoutRedirectUri: $"{blazorRootUrl}/authentication/logout-callback"
+ );
+ }
+
+ // Blazor Server Tiered Client
+ var blazorServerTieredClientId = configurationSection["AuthSiteCenter_BlazorServerTiered:ClientId"];
+ if (!blazorServerTieredClientId.IsNullOrWhiteSpace())
+ {
+ var blazorServerTieredRootUrl =
+ configurationSection["AuthSiteCenter_BlazorServerTiered:RootUrl"].EnsureEndsWith('/');
+
+ await CreateApplicationAsync(
+ name: blazorServerTieredClientId!,
+ type: OpenIddictConstants.ClientTypes.Confidential,
+ consentType: OpenIddictConstants.ConsentTypes.Implicit,
+ displayName: "Blazor Server Application",
+ secret: configurationSection["AuthSiteCenter_BlazorServerTiered:ClientSecret"] ?? "1q2w3e*",
+ grantTypes: new List //Hybrid flow
+ {
+ OpenIddictConstants.GrantTypes.AuthorizationCode, OpenIddictConstants.GrantTypes.Implicit
+ },
+ scopes: commonScopes,
+ redirectUri: $"{blazorServerTieredRootUrl}signin-oidc",
+ clientUri: blazorServerTieredRootUrl,
+ postLogoutRedirectUri: $"{blazorServerTieredRootUrl}signout-callback-oidc"
+ );
+ }
+
+ // Swagger Client
+ var swaggerClientId = configurationSection["AuthSiteCenter_Swagger:ClientId"];
+ if (!swaggerClientId.IsNullOrWhiteSpace())
+ {
+ var swaggerRootUrl = configurationSection["AuthSiteCenter_Swagger:RootUrl"]?.TrimEnd('/');
+
+ await CreateApplicationAsync(
+ name: swaggerClientId!,
+ type: OpenIddictConstants.ClientTypes.Public,
+ consentType: OpenIddictConstants.ConsentTypes.Implicit,
+ displayName: "Swagger Application",
+ secret: null,
+ grantTypes: new List { OpenIddictConstants.GrantTypes.AuthorizationCode, },
+ scopes: commonScopes,
+ redirectUri: $"{swaggerRootUrl}/swagger/oauth2-redirect.html",
+ clientUri: swaggerRootUrl
+ );
+ }
+ }
+
+ private async Task CreateApplicationAsync(
+ [NotNull] string name,
+ [NotNull] string type,
+ [NotNull] string consentType,
+ string displayName,
+ string? secret,
+ List grantTypes,
+ List scopes,
+ string? clientUri = null,
+ string? redirectUri = null,
+ string? postLogoutRedirectUri = null,
+ List? permissions = null)
+ {
+ if (!string.IsNullOrEmpty(secret) && string.Equals(type, OpenIddictConstants.ClientTypes.Public,
+ StringComparison.OrdinalIgnoreCase))
+ {
+ throw new BusinessException(L["NoClientSecretCanBeSetForPublicApplications"]);
+ }
+
+ if (string.IsNullOrEmpty(secret) && string.Equals(type, OpenIddictConstants.ClientTypes.Confidential,
+ StringComparison.OrdinalIgnoreCase))
+ {
+ throw new BusinessException(L["TheClientSecretIsRequiredForConfidentialApplications"]);
+ }
+
+ var client = await _openIddictApplicationRepository.FindByClientIdAsync(name);
+
+ var application = new AbpApplicationDescriptor {
+ ClientId = name,
+ Type = type,
+ ClientSecret = secret,
+ ConsentType = consentType,
+ DisplayName = displayName,
+ ClientUri = clientUri,
+ };
+
+ Check.NotNullOrEmpty(grantTypes, nameof(grantTypes));
+ Check.NotNullOrEmpty(scopes, nameof(scopes));
+
+ if (new[] { OpenIddictConstants.GrantTypes.AuthorizationCode, OpenIddictConstants.GrantTypes.Implicit }.All(
+ grantTypes.Contains))
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.ResponseTypes.CodeIdToken);
+
+ if (string.Equals(type, OpenIddictConstants.ClientTypes.Public, StringComparison.OrdinalIgnoreCase))
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.ResponseTypes.CodeIdTokenToken);
+ application.Permissions.Add(OpenIddictConstants.Permissions.ResponseTypes.CodeToken);
+ }
+ }
+
+ if (!redirectUri.IsNullOrWhiteSpace() || !postLogoutRedirectUri.IsNullOrWhiteSpace())
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Logout);
+ }
+
+ var buildInGrantTypes = new[] {
+ OpenIddictConstants.GrantTypes.Implicit, OpenIddictConstants.GrantTypes.Password,
+ OpenIddictConstants.GrantTypes.AuthorizationCode, OpenIddictConstants.GrantTypes.ClientCredentials,
+ OpenIddictConstants.GrantTypes.DeviceCode, OpenIddictConstants.GrantTypes.RefreshToken
+ };
+
+ foreach (var grantType in grantTypes)
+ {
+ if (grantType == OpenIddictConstants.GrantTypes.AuthorizationCode)
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.GrantTypes.AuthorizationCode);
+ application.Permissions.Add(OpenIddictConstants.Permissions.ResponseTypes.Code);
+ }
+
+ if (grantType == OpenIddictConstants.GrantTypes.AuthorizationCode ||
+ grantType == OpenIddictConstants.GrantTypes.Implicit)
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Authorization);
+ }
+
+ if (grantType == OpenIddictConstants.GrantTypes.AuthorizationCode ||
+ grantType == OpenIddictConstants.GrantTypes.ClientCredentials ||
+ grantType == OpenIddictConstants.GrantTypes.Password ||
+ grantType == OpenIddictConstants.GrantTypes.RefreshToken ||
+ grantType == OpenIddictConstants.GrantTypes.DeviceCode)
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Token);
+ application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Revocation);
+ application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Introspection);
+ }
+
+ if (grantType == OpenIddictConstants.GrantTypes.ClientCredentials)
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.GrantTypes.ClientCredentials);
+ }
+
+ if (grantType == OpenIddictConstants.GrantTypes.Implicit)
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.GrantTypes.Implicit);
+ }
+
+ if (grantType == OpenIddictConstants.GrantTypes.Password)
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.GrantTypes.Password);
+ }
+
+ if (grantType == OpenIddictConstants.GrantTypes.RefreshToken)
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.GrantTypes.RefreshToken);
+ }
+
+ if (grantType == OpenIddictConstants.GrantTypes.DeviceCode)
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.GrantTypes.DeviceCode);
+ application.Permissions.Add(OpenIddictConstants.Permissions.Endpoints.Device);
+ }
+
+ if (grantType == OpenIddictConstants.GrantTypes.Implicit)
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.ResponseTypes.IdToken);
+ if (string.Equals(type, OpenIddictConstants.ClientTypes.Public, StringComparison.OrdinalIgnoreCase))
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.ResponseTypes.IdTokenToken);
+ application.Permissions.Add(OpenIddictConstants.Permissions.ResponseTypes.Token);
+ }
+ }
+
+ if (!buildInGrantTypes.Contains(grantType))
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.Prefixes.GrantType + grantType);
+ }
+ }
+
+ var buildInScopes = new[] {
+ OpenIddictConstants.Permissions.Scopes.Address, OpenIddictConstants.Permissions.Scopes.Email,
+ OpenIddictConstants.Permissions.Scopes.Phone, OpenIddictConstants.Permissions.Scopes.Profile,
+ OpenIddictConstants.Permissions.Scopes.Roles
+ };
+
+ foreach (var scope in scopes)
+ {
+ if (buildInScopes.Contains(scope))
+ {
+ application.Permissions.Add(scope);
+ }
+ else
+ {
+ application.Permissions.Add(OpenIddictConstants.Permissions.Prefixes.Scope + scope);
+ }
+ }
+
+ if (redirectUri != null)
+ {
+ if (!redirectUri.IsNullOrEmpty())
+ {
+ if (!Uri.TryCreate(redirectUri, UriKind.Absolute, out var uri) || !uri.IsWellFormedOriginalString())
+ {
+ throw new BusinessException(L["InvalidRedirectUri", redirectUri]);
+ }
+
+ if (application.RedirectUris.All(x => x != uri))
+ {
+ application.RedirectUris.Add(uri);
+ }
+ }
+ }
+
+ if (postLogoutRedirectUri != null)
+ {
+ if (!postLogoutRedirectUri.IsNullOrEmpty())
+ {
+ if (!Uri.TryCreate(postLogoutRedirectUri, UriKind.Absolute, out var uri) ||
+ !uri.IsWellFormedOriginalString())
+ {
+ throw new BusinessException(L["InvalidPostLogoutRedirectUri", postLogoutRedirectUri]);
+ }
+
+ if (application.PostLogoutRedirectUris.All(x => x != uri))
+ {
+ application.PostLogoutRedirectUris.Add(uri);
+ }
+ }
+ }
+
+ if (permissions != null)
+ {
+ await _permissionDataSeeder.SeedAsync(
+ ClientPermissionValueProvider.ProviderName,
+ name,
+ permissions,
+ null
+ );
+ }
+
+ if (client == null)
+ {
+ await _applicationManager.CreateAsync(application);
+ return;
+ }
+
+ if (!HasSameRedirectUris(client, application))
+ {
+ client.RedirectUris = JsonSerializer.Serialize(application.RedirectUris.Select(q => q.ToString().TrimEnd('/')));
+ client.PostLogoutRedirectUris = JsonSerializer.Serialize(application.PostLogoutRedirectUris.Select(q => q.ToString().TrimEnd('/')));
+
+ await _applicationManager.UpdateAsync(client.ToModel());
+ }
+
+ if (!HasSameScopes(client, application))
+ {
+ client.Permissions = JsonSerializer.Serialize(application.Permissions.Select(q => q.ToString()));
+ await _applicationManager.UpdateAsync(client.ToModel());
+ }
+ }
+
+ private bool HasSameRedirectUris(OpenIddictApplication existingClient, AbpApplicationDescriptor application)
+ {
+ return existingClient.RedirectUris == JsonSerializer.Serialize(application.RedirectUris.Select(q => q.ToString().TrimEnd('/')));
+ }
+
+ private bool HasSameScopes(OpenIddictApplication existingClient, AbpApplicationDescriptor application)
+ {
+ return existingClient.Permissions == JsonSerializer.Serialize(application.Permissions.Select(q => q.ToString().TrimEnd('/')));
+ }
+}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Properties/AssemblyInfo.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..5eed880da
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Properties/AssemblyInfo.cs
@@ -0,0 +1,3 @@
+using System.Runtime.CompilerServices;
+[assembly:InternalsVisibleToAttribute("WinIn.FasterZ.AuthSiteCenter.Domain.Tests")]
+[assembly:InternalsVisibleToAttribute("WinIn.FasterZ.AuthSiteCenter.TestBase")]
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Settings/AuthSiteCenterSettingDefinitionProvider.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Settings/AuthSiteCenterSettingDefinitionProvider.cs
new file mode 100644
index 000000000..cb197369a
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Settings/AuthSiteCenterSettingDefinitionProvider.cs
@@ -0,0 +1,12 @@
+using Volo.Abp.Settings;
+
+namespace WinIn.FasterZ.AuthSiteCenter.Settings;
+
+public class AuthSiteCenterSettingDefinitionProvider : SettingDefinitionProvider
+{
+ public override void Define(ISettingDefinitionContext context)
+ {
+ //Define your own settings here. Example:
+ //context.Add(new SettingDefinition(AuthSiteCenterSettings.MySetting1));
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Settings/AuthSiteCenterSettings.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Settings/AuthSiteCenterSettings.cs
new file mode 100644
index 000000000..00ef8ebad
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/Settings/AuthSiteCenterSettings.cs
@@ -0,0 +1,9 @@
+namespace WinIn.FasterZ.AuthSiteCenter.Settings;
+
+public static class AuthSiteCenterSettings
+{
+ private const string Prefix = "AuthSiteCenter";
+
+ //Add your own setting names here. Example:
+ //public const string MySetting1 = Prefix + ".MySetting1";
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/WinIn.FasterZ.AuthSiteCenter.Domain.csproj b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/WinIn.FasterZ.AuthSiteCenter.Domain.csproj
new file mode 100644
index 000000000..23a14695c
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.Domain/WinIn.FasterZ.AuthSiteCenter.Domain.csproj
@@ -0,0 +1,28 @@
+
+
+
+
+
+ net7.0
+ enable
+ WinIn.FasterZ.AuthSiteCenter
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterDbContext.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterDbContext.cs
new file mode 100644
index 000000000..eca7674b1
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterDbContext.cs
@@ -0,0 +1,86 @@
+using Microsoft.EntityFrameworkCore;
+using Volo.Abp.AuditLogging.EntityFrameworkCore;
+using Volo.Abp.BackgroundJobs.EntityFrameworkCore;
+using Volo.Abp.Data;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.EntityFrameworkCore;
+using Volo.Abp.FeatureManagement.EntityFrameworkCore;
+using Volo.Abp.Identity;
+using Volo.Abp.Identity.EntityFrameworkCore;
+using Volo.Abp.OpenIddict.EntityFrameworkCore;
+using Volo.Abp.PermissionManagement.EntityFrameworkCore;
+using Volo.Abp.SettingManagement.EntityFrameworkCore;
+using Volo.Abp.TenantManagement;
+using Volo.Abp.TenantManagement.EntityFrameworkCore;
+
+namespace WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore;
+
+[ReplaceDbContext(typeof(IIdentityDbContext))]
+[ReplaceDbContext(typeof(ITenantManagementDbContext))]
+[ConnectionStringName("Default")]
+public class AuthSiteCenterDbContext :
+ AbpDbContext,
+ IIdentityDbContext,
+ ITenantManagementDbContext
+{
+ /* Add DbSet properties for your Aggregate Roots / Entities here. */
+
+ #region Entities from the modules
+
+ /* Notice: We only implemented IIdentityDbContext and ITenantManagementDbContext
+ * and replaced them for this DbContext. This allows you to perform JOIN
+ * queries for the entities of these modules over the repositories easily. You
+ * typically don't need that for other modules. But, if you need, you can
+ * implement the DbContext interface of the needed module and use ReplaceDbContext
+ * attribute just like IIdentityDbContext and ITenantManagementDbContext.
+ *
+ * More info: Replacing a DbContext of a module ensures that the related module
+ * uses this DbContext on runtime. Otherwise, it will use its own DbContext class.
+ */
+
+ //Identity
+ public DbSet Users { get; set; }
+ public DbSet Roles { get; set; }
+ public DbSet ClaimTypes { get; set; }
+ public DbSet OrganizationUnits { get; set; }
+ public DbSet SecurityLogs { get; set; }
+ public DbSet LinkUsers { get; set; }
+ public DbSet UserDelegations { get; set; }
+
+ // Tenant Management
+ public DbSet Tenants { get; set; }
+ public DbSet TenantConnectionStrings { get; set; }
+
+ #endregion
+
+ public AuthSiteCenterDbContext(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.ConfigureOpenIddict();
+ builder.ConfigureFeatureManagement();
+ builder.ConfigureTenantManagement();
+
+ /* Configure your own tables/entities inside here */
+
+ //builder.Entity(b =>
+ //{
+ // b.ToTable(AuthSiteCenterConsts.DbTablePrefix + "YourEntities", AuthSiteCenterConsts.DbSchema);
+ // b.ConfigureByConvention(); //auto configure for the base class props
+ // //...
+ //});
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterDbContextFactory.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterDbContextFactory.cs
new file mode 100644
index 000000000..39b48c2ea
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterDbContextFactory.cs
@@ -0,0 +1,33 @@
+using System;
+using System.IO;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Design;
+using Microsoft.Extensions.Configuration;
+
+namespace WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore;
+
+/* This class is needed for EF Core console commands
+ * (like Add-Migration and Update-Database commands) */
+public class AuthSiteCenterDbContextFactory : IDesignTimeDbContextFactory
+{
+ public AuthSiteCenterDbContext CreateDbContext(string[] args)
+ {
+ AuthSiteCenterEfCoreEntityExtensionMappings.Configure();
+
+ var configuration = BuildConfiguration();
+
+ var builder = new DbContextOptionsBuilder()
+ .UseSqlServer(configuration.GetConnectionString("Default"));
+
+ return new AuthSiteCenterDbContext(builder.Options);
+ }
+
+ private static IConfigurationRoot BuildConfiguration()
+ {
+ var builder = new ConfigurationBuilder()
+ .SetBasePath(Path.Combine(Directory.GetCurrentDirectory(), "../WinIn.FasterZ.AuthSiteCenter.DbMigrator/"))
+ .AddJsonFile("appsettings.json", optional: false);
+
+ return builder.Build();
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterEfCoreEntityExtensionMappings.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterEfCoreEntityExtensionMappings.cs
new file mode 100644
index 000000000..b2acbcf3a
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterEfCoreEntityExtensionMappings.cs
@@ -0,0 +1,44 @@
+using Microsoft.EntityFrameworkCore;
+using Volo.Abp.Identity;
+using Volo.Abp.ObjectExtending;
+using Volo.Abp.Threading;
+
+namespace WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore;
+
+public static class AuthSiteCenterEfCoreEntityExtensionMappings
+{
+ private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
+
+ public static void Configure()
+ {
+ AuthSiteCenterGlobalFeatureConfigurator.Configure();
+ AuthSiteCenterModuleExtensionConfigurator.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 AuthSiteCenterModuleExtensionConfigurator 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/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterEntityFrameworkCoreModule.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterEntityFrameworkCoreModule.cs
new file mode 100644
index 000000000..3fed75696
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/AuthSiteCenterEntityFrameworkCoreModule.cs
@@ -0,0 +1,54 @@
+using System;
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Uow;
+using Volo.Abp.AuditLogging.EntityFrameworkCore;
+using Volo.Abp.BackgroundJobs.EntityFrameworkCore;
+using Volo.Abp.EntityFrameworkCore;
+using Volo.Abp.EntityFrameworkCore.SqlServer;
+using Volo.Abp.FeatureManagement.EntityFrameworkCore;
+using Volo.Abp.Identity.EntityFrameworkCore;
+using Volo.Abp.Modularity;
+using Volo.Abp.OpenIddict.EntityFrameworkCore;
+using Volo.Abp.PermissionManagement.EntityFrameworkCore;
+using Volo.Abp.SettingManagement.EntityFrameworkCore;
+using Volo.Abp.TenantManagement.EntityFrameworkCore;
+
+namespace WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore;
+
+[DependsOn(
+ typeof(AuthSiteCenterDomainModule),
+ typeof(AbpIdentityEntityFrameworkCoreModule),
+ typeof(AbpOpenIddictEntityFrameworkCoreModule),
+ typeof(AbpPermissionManagementEntityFrameworkCoreModule),
+ typeof(AbpSettingManagementEntityFrameworkCoreModule),
+ typeof(AbpEntityFrameworkCoreSqlServerModule),
+ typeof(AbpBackgroundJobsEntityFrameworkCoreModule),
+ typeof(AbpAuditLoggingEntityFrameworkCoreModule),
+ typeof(AbpTenantManagementEntityFrameworkCoreModule),
+ typeof(AbpFeatureManagementEntityFrameworkCoreModule)
+ )]
+public class AuthSiteCenterEntityFrameworkCoreModule : AbpModule
+{
+ public override void PreConfigureServices(ServiceConfigurationContext context)
+ {
+ AuthSiteCenterEfCoreEntityExtensionMappings.Configure();
+ }
+
+ public override void ConfigureServices(ServiceConfigurationContext context)
+ {
+ context.Services.AddAbpDbContext(options =>
+ {
+ /* Remove "includeAllEntities: true" to create
+ * default repositories only for aggregate roots */
+ options.AddDefaultRepositories(includeAllEntities: true);
+ });
+
+ Configure(options =>
+ {
+ /* The main point to change your DBMS.
+ * See also AuthSiteCenterMigrationsDbContextFactory for EF Core tooling. */
+ options.UseSqlServer();
+ });
+
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreAuthSiteCenterDbSchemaMigrator.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreAuthSiteCenterDbSchemaMigrator.cs
new file mode 100644
index 000000000..32ff944d0
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/EntityFrameworkCore/EntityFrameworkCoreAuthSiteCenterDbSchemaMigrator.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Threading.Tasks;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.Extensions.DependencyInjection;
+using WinIn.FasterZ.AuthSiteCenter.Data;
+using Volo.Abp.DependencyInjection;
+
+namespace WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore;
+
+public class EntityFrameworkCoreAuthSiteCenterDbSchemaMigrator
+ : IAuthSiteCenterDbSchemaMigrator, ITransientDependency
+{
+ private readonly IServiceProvider _serviceProvider;
+
+ public EntityFrameworkCoreAuthSiteCenterDbSchemaMigrator(
+ IServiceProvider serviceProvider)
+ {
+ _serviceProvider = serviceProvider;
+ }
+
+ public async Task MigrateAsync()
+ {
+ /* We intentionally resolving the AuthSiteCenterDbContext
+ * 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();
+ }
+}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/Migrations/20230908213846_Initial.Designer.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/Migrations/20230908213846_Initial.Designer.cs
new file mode 100644
index 000000000..31c6b3e4d
--- /dev/null
+++ b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.AuthSiteCenter/src/WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore/Migrations/20230908213846_Initial.Designer.cs
@@ -0,0 +1,1870 @@
+//
+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 WinIn.FasterZ.AuthSiteCenter.EntityFrameworkCore;
+
+#nullable disable
+
+namespace WinIn.FasterZ.AuthSiteCenter.Migrations
+{
+ [DbContext(typeof(AuthSiteCenterDbContext))]
+ [Migration("20230908213846_Initial")]
+ partial class Initial
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer)
+ .HasAnnotation("ProductVersion", "7.0.1")
+ .HasAnnotation("Relational:MaxIdentifierLength", 128);
+
+ SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
+
+ 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")
+ .HasColumnType("nvarchar(max)");
+
+ 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("ImpersonatorTenantName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("ImpersonatorTenantName");
+
+ b.Property("ImpersonatorUserId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("ImpersonatorUserId");
+
+ b.Property("ImpersonatorUserName")
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)")
+ .HasColumnName("ImpersonatorUserName");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("TenantName")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)")
+ .HasColumnName("TenantName");
+
+ 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", (string)null);
+ });
+
+ 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", (string)null);
+ });
+
+ 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", (string)null);
+ });
+
+ 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", (string)null);
+ });
+
+ 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", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureDefinitionRecord", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("AllowedProviders")
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
+
+ b.Property("DefaultValue")
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
+
+ b.Property("Description")
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("GroupName")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("nvarchar(128)");
+
+ b.Property("IsAvailableToHost")
+ .HasColumnType("bit");
+
+ b.Property("IsVisibleToClients")
+ .HasColumnType("bit");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("nvarchar(128)");
+
+ b.Property("ParentName")
+ .HasMaxLength(128)
+ .HasColumnType("nvarchar(128)");
+
+ b.Property("ValueType")
+ .HasMaxLength(2048)
+ .HasColumnType("nvarchar(2048)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("GroupName");
+
+ b.HasIndex("Name")
+ .IsUnique();
+
+ b.ToTable("AbpFeatures", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureGroupDefinitionRecord", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("DisplayName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
+
+ b.Property("ExtraProperties")
+ .HasColumnType("nvarchar(max)")
+ .HasColumnName("ExtraProperties");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("nvarchar(128)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Name")
+ .IsUnique();
+
+ b.ToTable("AbpFeatureGroups", (string)null);
+ });
+
+ 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")
+ .IsUnique()
+ .HasFilter("[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL");
+
+ b.ToTable("AbpFeatureValues", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b =>
+ {
+ b.Property("Id")
+ .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", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b =>
+ {
+ b.Property("Id")
+ .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", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasMaxLength(40)
+ .HasColumnType("nvarchar(40)")
+ .HasColumnName("ConcurrencyStamp");
+
+ b.Property("EntityVersion")
+ .HasColumnType("int");
+
+ 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", (string)null);
+ });
+
+ 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", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b =>
+ {
+ b.Property("Id")
+ .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