From 48d5f06752db0eaff5e49e97af48025fbe2499b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96ZT=C3=9CRK?= <76204082+iamsedatozturk@users.noreply.github.com> Date: Thu, 30 Oct 2025 14:25:08 +0300 Subject: [PATCH] Supply Chain -> Material Types ve Material Groups --- .../Seeds/LanguagesData.json | 16 +- .../Seeds/ListFormSeeder.cs | 884 +++++++++++++++--- .../Seeds/MenusData.json | 74 +- .../Seeds/PermissionsData.json | 224 ++--- .../Enums/LookUpQueryValues.cs | 9 +- .../Enums/MenuPrefixEnum.cs | 4 +- .../Enums/TableNameEnum.cs | 4 +- .../PlatformConsts.cs | 8 + .../TableNameResolver.cs | 4 + .../Kurs.Platform.Domain/Data/SeedConsts.cs | 7 + .../Tenant/SupplyChain/MaterialGroup.cs | 21 + .../Tenant/SupplyChain/MaterialType.cs | 16 + .../EntityFrameworkCore/PlatformDbContext.cs | 35 +- ....cs => 20251030104555_Initial.Designer.cs} | 148 ++- ...5_Initial.cs => 20251030104555_Initial.cs} | 64 ++ .../PlatformDbContextModelSnapshot.cs | 146 +++ .../Tenants/Seeds/TenantData.json | 77 +- .../Tenants/TenantDataSeeder.cs | 45 +- .../Tenants/TenantSeederDto.cs | 21 + ui/src/shared/useListFormColumns.ts | 6 +- ui/src/types/mm.ts | 2 +- .../admin/role-management/RolesPermission.tsx | 2 +- .../admin/user-management/UsersPermission.tsx | 2 +- 23 files changed, 1535 insertions(+), 284 deletions(-) create mode 100644 api/src/Kurs.Platform.Domain/Entities/Tenant/SupplyChain/MaterialGroup.cs create mode 100644 api/src/Kurs.Platform.Domain/Entities/Tenant/SupplyChain/MaterialType.cs rename api/src/Kurs.Platform.EntityFrameworkCore/Migrations/{20251029185945_Initial.Designer.cs => 20251030104555_Initial.Designer.cs} (98%) rename api/src/Kurs.Platform.EntityFrameworkCore/Migrations/{20251029185945_Initial.cs => 20251030104555_Initial.cs} (98%) diff --git a/api/src/Kurs.Platform.DbMigrator/Seeds/LanguagesData.json b/api/src/Kurs.Platform.DbMigrator/Seeds/LanguagesData.json index 8dbbff8f..a7cfe434 100644 --- a/api/src/Kurs.Platform.DbMigrator/Seeds/LanguagesData.json +++ b/api/src/Kurs.Platform.DbMigrator/Seeds/LanguagesData.json @@ -10935,49 +10935,49 @@ }, { "resourceName": "Platform", - "key": "App.SupplyChain.MaterialTypes", + "key": "App.SupplyChain.MaterialType", "tr": "Malzeme Tipleri", "en": "Material Types" }, { "resourceName": "Platform", - "key": "App.SupplyChain.MaterialGroups", + "key": "App.SupplyChain.MaterialGroup", "tr": "Malzeme Grupları", "en": "Material Groups" }, { "resourceName": "Platform", - "key": "App.SupplyChain.Materials", + "key": "App.SupplyChain.Material", "tr": "Malzeme Listesi", "en": "Materials" }, { "resourceName": "Platform", - "key": "App.SupplyChain.Suppliers", + "key": "App.SupplyChain.Supplier", "tr": "Tedarikçiler", "en": "Suppliers" }, { "resourceName": "Platform", - "key": "App.SupplyChain.Requests", + "key": "App.SupplyChain.Request", "tr": "Satınalma Talepleri", "en": "Purchase Requests" }, { "resourceName": "Platform", - "key": "App.SupplyChain.Quotations", + "key": "App.SupplyChain.Quotation", "tr": "Teklifler", "en": "Quotations" }, { "resourceName": "Platform", - "key": "App.SupplyChain.Approvals", + "key": "App.SupplyChain.Approval", "tr": "Onay İş Akışları", "en": "Approval Workflows" }, { "resourceName": "Platform", - "key": "App.SupplyChain.Orders", + "key": "App.SupplyChain.Order", "tr": "Siparişler", "en": "Orders" }, diff --git a/api/src/Kurs.Platform.DbMigrator/Seeds/ListFormSeeder.cs b/api/src/Kurs.Platform.DbMigrator/Seeds/ListFormSeeder.cs index bef2a3ae..08c277e2 100644 --- a/api/src/Kurs.Platform.DbMigrator/Seeds/ListFormSeeder.cs +++ b/api/src/Kurs.Platform.DbMigrator/Seeds/ListFormSeeder.cs @@ -1003,7 +1003,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -1170,7 +1170,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryValues, + LookupQuery = LookupQueryValues.CountryValues, CascadeEmptyFields = "City,District,Street" }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto @@ -1209,7 +1209,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CityValues, + LookupQuery = LookupQueryValues.CityValues, CascadeRelationField = "Country", CascadeFilterOperator="=", CascadeParentFields = "Country", @@ -1251,7 +1251,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.DistrictValues, + LookupQuery = LookupQueryValues.DistrictValues, CascadeRelationField = "City", CascadeFilterOperator="=", CascadeParentFields = "Country,City", @@ -1765,7 +1765,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryValues, + LookupQuery = LookupQueryValues.CountryValues, CascadeEmptyFields = "City,District,Street" }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto @@ -1805,7 +1805,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CityValues, + LookupQuery = LookupQueryValues.CityValues, CascadeRelationField = "Country", CascadeFilterOperator="=", CascadeParentFields = "Country", @@ -1848,7 +1848,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.DistrictValues, + LookupQuery = LookupQueryValues.DistrictValues, CascadeRelationField = "City", CascadeFilterOperator="=", CascadeParentFields = "Country,City", @@ -1891,7 +1891,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.StreetValues, + LookupQuery = LookupQueryValues.StreetValues, CascadeRelationField = "District", CascadeFilterOperator="=", CascadeParentFields = "Country,City,District" @@ -2472,7 +2472,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.QuestionTagValues + LookupQuery = LookupQueryValues.QuestionTagValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -3270,7 +3270,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryValues, + LookupQuery = LookupQueryValues.CountryValues, CascadeEmptyFields = "City,District,Street" }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto @@ -3310,7 +3310,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CityValues, + LookupQuery = LookupQueryValues.CityValues, CascadeRelationField = "Country", CascadeFilterOperator="=", CascadeParentFields = "Country", @@ -3353,7 +3353,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.DistrictValues, + LookupQuery = LookupQueryValues.DistrictValues, CascadeRelationField = "City", CascadeFilterOperator="=", CascadeParentFields = "Country,City", @@ -3396,7 +3396,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.StreetValues, + LookupQuery = LookupQueryValues.StreetValues, CascadeRelationField = "District", CascadeFilterOperator="=", CascadeParentFields = "Country,City,District" @@ -3985,7 +3985,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.TenantValues, + LookupQuery = LookupQueryValues.TenantValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -4154,7 +4154,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryValues, + LookupQuery = LookupQueryValues.CountryValues, CascadeEmptyFields = "City,District,Street" }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto @@ -4194,7 +4194,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CityValues, + LookupQuery = LookupQueryValues.CityValues, CascadeRelationField = "Country", CascadeFilterOperator="=", CascadeParentFields = "Country", @@ -4237,7 +4237,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.DistrictValues, + LookupQuery = LookupQueryValues.DistrictValues, CascadeRelationField = "City", CascadeFilterOperator="=", CascadeParentFields = "Country,City", @@ -4280,7 +4280,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.StreetValues, + LookupQuery = LookupQueryValues.StreetValues, CascadeRelationField = "District", CascadeFilterOperator="=", CascadeParentFields = "Country,City,District" @@ -5128,7 +5128,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -6424,7 +6424,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CultureValues + LookupQuery = LookupQueryValues.CultureValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -6515,7 +6515,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -6820,7 +6820,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -7443,7 +7443,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CultureValues + LookupQuery = LookupQueryValues.CultureValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -8385,7 +8385,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -8427,7 +8427,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -8503,7 +8503,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -8545,7 +8545,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -11111,7 +11111,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.DataSourceValues, + LookupQuery = LookupQueryValues.DataSourceValues, }), PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto { @@ -13381,7 +13381,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ValidationRuleJson = JsonSerializer.Serialize(new[] { @@ -13447,7 +13447,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -13751,7 +13751,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), }, new() @@ -13784,7 +13784,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), }, new() @@ -14804,7 +14804,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryValues, + LookupQuery = LookupQueryValues.CountryValues, CascadeEmptyFields = "City,District" }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto @@ -14838,7 +14838,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CityValues, + LookupQuery = LookupQueryValues.CityValues, CascadeRelationField = "Country", CascadeFilterOperator="=", CascadeParentFields = "Country", @@ -14875,7 +14875,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.DistrictValues, + LookupQuery = LookupQueryValues.DistrictValues, CascadeRelationField = "City", CascadeFilterOperator="=", CascadeParentFields = "Country,City", @@ -15099,7 +15099,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.PaymentMethodValues + LookupQuery = LookupQueryValues.PaymentMethodValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -15132,7 +15132,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.InstallmentValues + LookupQuery = LookupQueryValues.InstallmentValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -15350,7 +15350,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -15417,7 +15417,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -15729,7 +15729,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -15796,7 +15796,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -15885,7 +15885,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BlogCategoryValues + LookupQuery = LookupQueryValues.BlogCategoryValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -16672,7 +16672,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.LanguageKeyValues + LookupQuery = LookupQueryValues.LanguageKeyValues }), ValidationRuleJson = JsonSerializer.Serialize(new[] { @@ -18209,7 +18209,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryGroupValues, + LookupQuery = LookupQueryValues.CountryGroupValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -18550,7 +18550,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryValues + LookupQuery = LookupQueryValues.CountryValues }), ValidationRuleJson = JsonSerializer.Serialize(new[] { @@ -18859,7 +18859,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryValues, + LookupQuery = LookupQueryValues.CountryValues, CascadeEmptyFields = "City" }), ValidationRuleJson = JsonSerializer.Serialize(new[] @@ -18897,7 +18897,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CityValues, + LookupQuery = LookupQueryValues.CityValues, CascadeRelationField = "Country", CascadeFilterOperator="=", CascadeParentFields = "Country" @@ -19776,7 +19776,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.SkillTypeValues, + LookupQuery = LookupQueryValues.SkillTypeValues, }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -20035,7 +20035,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.SkillTypeValues, + LookupQuery = LookupQueryValues.SkillTypeValues, }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -20632,7 +20632,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.UomCategoryValues, + LookupQuery = LookupQueryValues.UomCategoryValues, }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} @@ -25937,7 +25937,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { @@ -26210,7 +26210,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, CascadeEmptyFields = "RegistrationTypeId" }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] @@ -26248,7 +26248,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.RegistrationTypeValues, + LookupQuery = LookupQueryValues.RegistrationTypeValues, CascadeRelationField = "BranchId", CascadeFilterOperator="=", CascadeParentFields = "BranchId", @@ -26523,7 +26523,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, CascadeEmptyFields = "RegistrationTypeId" }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] @@ -26561,7 +26561,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.RegistrationTypeValues, + LookupQuery = LookupQueryValues.RegistrationTypeValues, CascadeRelationField = "BranchId", CascadeFilterOperator="=", CascadeParentFields = "BranchId", @@ -26887,7 +26887,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, CascadeEmptyFields = "ClassTypeId" }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] @@ -26925,7 +26925,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.ClassTypeValues, + LookupQuery = LookupQueryValues.ClassTypeValues, CascadeRelationField = "BranchId", CascadeFilterOperator="=", CascadeParentFields = "BranchId", @@ -27202,7 +27202,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, CascadeEmptyFields = "ClassTypeId" }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] @@ -27240,7 +27240,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.ClassTypeValues, + LookupQuery = LookupQueryValues.ClassTypeValues, CascadeRelationField = "BranchId", CascadeFilterOperator="=", CascadeParentFields = "BranchId", @@ -27665,7 +27665,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { @@ -28151,7 +28151,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -28891,7 +28891,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -29058,7 +29058,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryValues, + LookupQuery = LookupQueryValues.CountryValues, CascadeEmptyFields = "City,District,Street" }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto @@ -29097,7 +29097,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CityValues, + LookupQuery = LookupQueryValues.CityValues, CascadeRelationField = "Country", CascadeFilterOperator="=", CascadeParentFields = "Country", @@ -29139,7 +29139,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.DistrictValues, + LookupQuery = LookupQueryValues.DistrictValues, CascadeRelationField = "City", CascadeFilterOperator="=", CascadeParentFields = "Country,City", @@ -29468,7 +29468,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BankValues + LookupQuery = LookupQueryValues.BankValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -29577,7 +29577,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CurrencyValues, + LookupQuery = LookupQueryValues.CurrencyValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -30159,7 +30159,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.QuestionTagValues + LookupQuery = LookupQueryValues.QuestionTagValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -30399,7 +30399,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.QuestionPoolValues + LookupQuery = LookupQueryValues.QuestionPoolValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -31898,7 +31898,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.DepartmentValues + LookupQuery = LookupQueryValues.DepartmentValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -32048,7 +32048,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.CurrencyValues + LookupQuery = LookupQueryValues.CurrencyValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -32504,7 +32504,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.DepartmentValues + LookupQuery = LookupQueryValues.DepartmentValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -32545,7 +32545,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -32586,7 +32586,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.CostCenterValues + LookupQuery = LookupQueryValues.CostCenterValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -32973,7 +32973,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.CostCenterValues + LookupQuery = LookupQueryValues.CostCenterValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -33014,7 +33014,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -33055,7 +33055,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.DepartmentValues + LookupQuery = LookupQueryValues.DepartmentValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -33202,7 +33202,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.CurrencyValues + LookupQuery = LookupQueryValues.CurrencyValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -33842,7 +33842,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CountryValues, + LookupQuery = LookupQueryValues.CountryValues, CascadeEmptyFields = "City,District,Street" }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto @@ -33881,7 +33881,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.CityValues, + LookupQuery = LookupQueryValues.CityValues, CascadeRelationField = "Country", CascadeFilterOperator="=", CascadeParentFields = "Country", @@ -33923,7 +33923,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.DistrictValues, + LookupQuery = LookupQueryValues.DistrictValues, CascadeRelationField = "City", CascadeFilterOperator="=", CascadeParentFields = "Country,City", @@ -34249,7 +34249,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmploymentTypeValues + LookupQuery = LookupQueryValues.EmploymentTypeValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -34287,7 +34287,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.JobPositionValues + LookupQuery = LookupQueryValues.JobPositionValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -34325,7 +34325,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.DepartmentValues + LookupQuery = LookupQueryValues.DepartmentValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -34394,7 +34394,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -34465,7 +34465,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.CurrencyValues + LookupQuery = LookupQueryValues.CurrencyValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -34545,7 +34545,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.BankAccountValues + LookupQuery = LookupQueryValues.BankAccountValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -34583,7 +34583,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.BadgeValues + LookupQuery = LookupQueryValues.BadgeValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -34849,7 +34849,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -35177,7 +35177,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -35500,7 +35500,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -35825,7 +35825,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -36203,7 +36203,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto { @@ -37209,7 +37209,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.Template360Values + LookupQuery = LookupQueryValues.Template360Values }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -37363,7 +37363,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.DepartmentValues, + LookupQuery = LookupQueryValues.DepartmentValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -37404,7 +37404,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues, + LookupQuery = LookupQueryValues.EmployeeValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -38021,7 +38021,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.EventCategoryValues, + LookupQuery = LookupQueryValues.EventCategoryValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -38058,7 +38058,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.EventTypeValues, + LookupQuery = LookupQueryValues.EventTypeValues, }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -38179,7 +38179,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.UserValues + LookupQuery = LookupQueryValues.UserValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -39153,7 +39153,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "Name", ValueExpr = "Key", - LookupQuery = LookUpQueryValues.BranchValues, + LookupQuery = LookupQueryValues.BranchValues, }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { @@ -39583,7 +39583,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues, + LookupQuery = LookupQueryValues.EmployeeValues, }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } @@ -40642,7 +40642,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } @@ -40779,7 +40779,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.DepartmentValues + LookupQuery = LookupQueryValues.DepartmentValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -41313,7 +41313,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -41597,7 +41597,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto { @@ -41714,7 +41714,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.CurrencyValues + LookupQuery = LookupQueryValues.CurrencyValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } @@ -42518,7 +42518,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.SurveyValues + LookupQuery = LookupQueryValues.SurveyValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } @@ -42883,7 +42883,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.SurveyValues + LookupQuery = LookupQueryValues.SurveyValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } @@ -42924,7 +42924,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } @@ -43212,7 +43212,7 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency DataSourceType = UiLookupDataSourceTypeEnum.Query, DisplayExpr = "name", ValueExpr = "key", - LookupQuery = LookUpQueryValues.EmployeeValues + LookupQuery = LookupQueryValues.EmployeeValues }), ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } @@ -43367,6 +43367,670 @@ public class ListFormSeeder : IDataSeedContributor, ITransientDependency } #endregion + // Supply Chain + #region Material Type + if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == ListFormCodes.Lists.MaterialType)) + { + var listFormMaterialType = await _listFormRepository.InsertAsync( + new ListForm() + { + ListFormType = ListFormTypeEnum.List, + IsSubForm = false, + LayoutJson = JsonSerializer.Serialize(new LayoutDto() + { + Grid = true, + Card = true, + Pivot = true, + Chart = true, + DefaultLayout = "grid", + CardLayoutColumn = 3 + }), + CultureName = LanguageCodes.En, + ListFormCode = ListFormCodes.Lists.MaterialType, + Name = AppCodes.SupplyChain.MaterialType, + Title = AppCodes.SupplyChain.MaterialType, + DataSourceCode = SeedConsts.DataSources.DefaultCode, + IsTenant = true, + IsBranch = false, + IsOrganizationUnit = false, + Description = AppCodes.SupplyChain.MaterialType, + SelectCommandType = SelectCommandTypeEnum.Table, + SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.MaterialType)), + KeyFieldName = "Id", + KeyFieldDbSourceType = DbType.Guid, + DefaultFilter = "\"IsDeleted\" = 'false'", + SortMode = GridOptions.SortModeSingle, + FilterRowJson = JsonSerializer.Serialize(new GridFilterRowDto { Visible = true }), + HeaderFilterJson = JsonSerializer.Serialize(new { Visible = true }), + SearchPanelJson = JsonSerializer.Serialize(new { Visible = true }), + GroupPanelJson = JsonSerializer.Serialize(new { Visible = true }), + SelectionJson = JsonSerializer.Serialize(new SelectionDto + { + Mode = GridOptions.SelectionModeSingle, + AllowSelectAll = false + }), + ColumnOptionJson = JsonSerializer.Serialize(new + { + ColumnFixingEnabled = true, + ColumnAutoWidth = true, + ColumnChooserEnabled = true, + AllowColumnResizing = true, + AllowColumnReordering = true, + ColumnResizingMode = "widget", + }), + PermissionJson = JsonSerializer.Serialize(new PermissionCrudDto + { + C = AppCodes.SupplyChain.MaterialType + ".Create", + R = AppCodes.SupplyChain.MaterialType, + U = AppCodes.SupplyChain.MaterialType + ".Update", + D = AppCodes.SupplyChain.MaterialType + ".Delete", + E = AppCodes.SupplyChain.MaterialType + ".Export", + I = AppCodes.SupplyChain.MaterialType + ".Import", + A = AppCodes.SupplyChain.MaterialType + ".Activity", + }), + DeleteCommand = $"UPDATE \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.MaterialType))}\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\"=@Id", + DeleteFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { + FieldName = "DeleterId", + FieldDbType = DbType.Guid, + Value = "@USERID", + CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { + FieldName = "Id", + FieldDbType = DbType.Guid, + Value = "@ID", + CustomValueType = FieldCustomValueTypeEnum.CustomKey } + }), + PagerOptionJson = JsonSerializer.Serialize(new GridPagerOptionDto + { + Visible = true, + AllowedPageSizes = "10,20,50,100", + ShowPageSizeSelector = true, + ShowNavigationButtons = true, + ShowInfo = false, + InfoText = "Page {0} of {1} ({2} items)", + DisplayMode = GridColumnOptions.PagerDisplayModeAdaptive, + ScrollingMode = GridColumnOptions.ScrollingModeStandard, + LoadPanelEnabled = "auto", + LoadPanelText = "Loading..." + }), + EditingOptionJson = JsonSerializer.Serialize(new GridEditingDto + { + Popup = new GridEditingPopupDto() + { + Title = "Material Type Form", + Width = 500, + Height = 250 + }, + AllowDeleting = true, + AllowAdding = true, + AllowUpdating = true, + SendOnlyChangedFormValuesUpdate = false, + }), + EditingFormJson = JsonSerializer.Serialize(new List() { + new() { Order=1,ColCount=1,ColSpan=2,ItemType="group", Items= + [ + new EditingFormItemDto { Order = 1, DataField = "Code", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, + new EditingFormItemDto { Order = 2, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, + new EditingFormItemDto { Order = 3, DataField = "Description", ColSpan = 2, EditorType2=EditorTypes.dxTextArea }, + new EditingFormItemDto { Order = 4, DataField = "IsActive", ColSpan = 2, EditorType2=EditorTypes.dxCheckBox }, + ] + } + }), + InsertFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { + FieldName = "CreationTime", + FieldDbType = DbType.DateTime, + Value = "@NOW", + CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { + FieldName = "CreatorId", + FieldDbType = DbType.Guid, + Value = "@USERID", + CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { + FieldName = "IsDeleted", + FieldDbType = DbType.Boolean, + Value = "false", + CustomValueType = FieldCustomValueTypeEnum.Value } + }), + FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { + FieldName = "IsActive", + FieldDbType = DbType.Boolean, + Value = "true", + CustomValueType = FieldCustomValueTypeEnum.Value } + }), + } + ); + + #region MaterialType Fields + await _listFormFieldRepository.InsertManyAsync(new ListFormField[] { + new() { + ListFormCode = listFormMaterialType.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "Id", + Width = 100, + ListOrderNo = 1, + Visible = false, + IsActive = true, + IsDeleted = false, + ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { + new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } + }), + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialType + ".Create", + R = AppCodes.SupplyChain.MaterialType, + U = AppCodes.SupplyChain.MaterialType + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + }, + new() { + ListFormCode = listFormMaterialType.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Code", + Width = 150, + ListOrderNo = 2, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { + new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } + }), + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialType + ".Create", + R = AppCodes.SupplyChain.MaterialType, + U = AppCodes.SupplyChain.MaterialType + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + }, + new() { + ListFormCode = listFormMaterialType.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Name", + Width = 350, + ListOrderNo = 3, + Visible = true, + IsActive = true, + IsDeleted = false, + SortIndex = 1, + SortDirection = GridColumnOptions.SortOrderAsc, + AllowSearch = true, + ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { + new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } + }), + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialType + ".Create", + R = AppCodes.SupplyChain.MaterialType, + U = AppCodes.SupplyChain.MaterialType + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + }, + new() { + ListFormCode = listFormMaterialType.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Description", + Width = 500, + ListOrderNo = 4, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialType + ".Create", + R = AppCodes.SupplyChain.MaterialType, + U = AppCodes.SupplyChain.MaterialType + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + }, + + new() { + ListFormCode = listFormMaterialType.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Boolean, + FieldName = "IsActive", + Width = 100, + ListOrderNo = 5, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialType + ".Create", + R = AppCodes.SupplyChain.MaterialType, + U = AppCodes.SupplyChain.MaterialType + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + } + }); + #endregion + } + #endregion + + #region Material Group + if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == ListFormCodes.Lists.MaterialGroup)) + { + var listFormMaterialGroup = await _listFormRepository.InsertAsync( + new ListForm() + { + ListFormType = ListFormTypeEnum.List, + IsSubForm = false, + LayoutJson = JsonSerializer.Serialize(new LayoutDto() + { + Grid = true, + Card = true, + Pivot = true, + Chart = true, + DefaultLayout = "grid", + CardLayoutColumn = 3 + }), + CultureName = LanguageCodes.En, + ListFormCode = ListFormCodes.Lists.MaterialGroup, + Name = AppCodes.SupplyChain.MaterialGroup, + Title = AppCodes.SupplyChain.MaterialGroup, + DataSourceCode = SeedConsts.DataSources.DefaultCode, + IsTenant = true, + IsBranch = false, + IsOrganizationUnit = false, + Description = AppCodes.SupplyChain.MaterialGroup, + SelectCommandType = SelectCommandTypeEnum.Table, + SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.MaterialGroup)), + KeyFieldName = "Id", + KeyFieldDbSourceType = DbType.Guid, + DefaultFilter = "\"IsDeleted\" = 'false'", + SortMode = GridOptions.SortModeSingle, + FilterRowJson = JsonSerializer.Serialize(new GridFilterRowDto { Visible = true }), + HeaderFilterJson = JsonSerializer.Serialize(new { Visible = true }), + SearchPanelJson = JsonSerializer.Serialize(new { Visible = true }), + GroupPanelJson = JsonSerializer.Serialize(new { Visible = true }), + SelectionJson = JsonSerializer.Serialize(new SelectionDto + { + Mode = GridOptions.SelectionModeSingle, + AllowSelectAll = false + }), + ColumnOptionJson = JsonSerializer.Serialize(new + { + ColumnFixingEnabled = true, + ColumnAutoWidth = true, + ColumnChooserEnabled = true, + AllowColumnResizing = true, + AllowColumnReordering = true, + ColumnResizingMode = "widget", + }), + PermissionJson = JsonSerializer.Serialize(new PermissionCrudDto + { + C = AppCodes.SupplyChain.MaterialGroup + ".Create", + R = AppCodes.SupplyChain.MaterialGroup, + U = AppCodes.SupplyChain.MaterialGroup + ".Update", + D = AppCodes.SupplyChain.MaterialGroup + ".Delete", + E = AppCodes.SupplyChain.MaterialGroup + ".Export", + I = AppCodes.SupplyChain.MaterialGroup + ".Import", + A = AppCodes.SupplyChain.MaterialGroup + ".Activity", + }), + DeleteCommand = $"UPDATE \"{TableNameResolver.GetFullTableName(nameof(TableNameEnum.MaterialGroup))}\" SET \"DeleterId\"=@DeleterId, \"DeletionTime\"=CURRENT_TIMESTAMP, \"IsDeleted\"='true' WHERE \"Id\"=@Id", + DeleteFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { + FieldName = "DeleterId", + FieldDbType = DbType.Guid, + Value = "@USERID", + CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { + FieldName = "Id", + FieldDbType = DbType.Guid, + Value = "@ID", + CustomValueType = FieldCustomValueTypeEnum.CustomKey } + }), + PagerOptionJson = JsonSerializer.Serialize(new GridPagerOptionDto + { + Visible = true, + AllowedPageSizes = "10,20,50,100", + ShowPageSizeSelector = true, + ShowNavigationButtons = true, + ShowInfo = false, + InfoText = "Page {0} of {1} ({2} items)", + DisplayMode = GridColumnOptions.PagerDisplayModeAdaptive, + ScrollingMode = GridColumnOptions.ScrollingModeStandard, + LoadPanelEnabled = "auto", + LoadPanelText = "Loading..." + }), + EditingOptionJson = JsonSerializer.Serialize(new GridEditingDto + { + Popup = new GridEditingPopupDto() + { + Title = "Material Type Form", + Width = 500, + Height = 250 + }, + AllowDeleting = true, + AllowAdding = true, + AllowUpdating = true, + SendOnlyChangedFormValuesUpdate = false, + }), + EditingFormJson = JsonSerializer.Serialize(new List() { + new() { Order=1,ColCount=1,ColSpan=2,ItemType="group", Items= + [ + new EditingFormItemDto { Order = 1, DataField = "Code", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, + new EditingFormItemDto { Order = 2, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, + new EditingFormItemDto { Order = 3, DataField = "Description", ColSpan = 2, EditorType2=EditorTypes.dxTextArea }, + new EditingFormItemDto { Order = 4, DataField = "IsActive", ColSpan = 2, EditorType2=EditorTypes.dxCheckBox }, + new EditingFormItemDto { Order = 5, DataField = "ParentGroupId", ColSpan = 2, EditorType2=EditorTypes.dxSelectBox }, + ] + } + }), + InsertFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { + FieldName = "CreationTime", + FieldDbType = DbType.DateTime, + Value = "@NOW", + CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { + FieldName = "CreatorId", + FieldDbType = DbType.Guid, + Value = "@USERID", + CustomValueType = FieldCustomValueTypeEnum.CustomKey }, + new() { + FieldName = "IsDeleted", + FieldDbType = DbType.Boolean, + Value = "false", + CustomValueType = FieldCustomValueTypeEnum.Value } + }), + FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] { + new() { + FieldName = "IsActive", + FieldDbType = DbType.Boolean, + Value = "true", + CustomValueType = FieldCustomValueTypeEnum.Value } + }), + } + ); + + #region MaterialGroup Fields + await _listFormFieldRepository.InsertManyAsync(new ListFormField[] { + new() { + ListFormCode = listFormMaterialGroup.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "Id", + Width = 100, + ListOrderNo = 1, + Visible = false, + IsActive = true, + IsDeleted = false, + ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { + new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } + }), + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialGroup + ".Create", + R = AppCodes.SupplyChain.MaterialGroup, + U = AppCodes.SupplyChain.MaterialGroup + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + }, + new() { + ListFormCode = listFormMaterialGroup.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Code", + Width = 250, + ListOrderNo = 2, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { + new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } + }), + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialGroup + ".Create", + R = AppCodes.SupplyChain.MaterialGroup, + U = AppCodes.SupplyChain.MaterialGroup + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + }, + new() { + ListFormCode = listFormMaterialGroup.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Name", + Width = 350, + ListOrderNo = 3, + Visible = true, + IsActive = true, + IsDeleted = false, + SortIndex = 1, + SortDirection = GridColumnOptions.SortOrderAsc, + AllowSearch = true, + ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { + new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required) } + }), + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialGroup + ".Create", + R = AppCodes.SupplyChain.MaterialGroup, + U = AppCodes.SupplyChain.MaterialGroup + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + }, + new() { + ListFormCode = listFormMaterialGroup.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.String, + FieldName = "Description", + Width = 500, + ListOrderNo = 4, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialGroup + ".Create", + R = AppCodes.SupplyChain.MaterialGroup, + U = AppCodes.SupplyChain.MaterialGroup + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + }, + new() { + ListFormCode = listFormMaterialGroup.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Boolean, + FieldName = "IsActive", + Width = 100, + ListOrderNo = 5, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialGroup + ".Create", + R = AppCodes.SupplyChain.MaterialGroup, + U = AppCodes.SupplyChain.MaterialGroup + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }) + }, + new() { + ListFormCode = listFormMaterialGroup.ListFormCode, + RoleId = null, + UserId = null, + CultureName = LanguageCodes.En, + SourceDbType = DbType.Guid, + FieldName = "ParentGroupId", + Width = 200, + ListOrderNo = 6, + Visible = true, + IsActive = true, + IsDeleted = false, + AllowSearch = true, + LookupJson = JsonSerializer.Serialize(new LookupDto + { + DataSourceType = UiLookupDataSourceTypeEnum.Query, + DisplayExpr = "name", + ValueExpr = "key", + LookupQuery = LookupQueryValues.MaterialGroupValues, + }), + ColumnCustomizationJson = JsonSerializer.Serialize(new ColumnCustomizationDto + { + AllowReordering = true, + }), + PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto + { + C = AppCodes.SupplyChain.MaterialGroup + ".Create", + R = AppCodes.SupplyChain.MaterialGroup, + U = AppCodes.SupplyChain.MaterialGroup + ".Update", + E = true, + I = true, + Deny = false + }), + PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto + { + IsPivot = true + }), + GroupingJson = JsonSerializer.Serialize(new ColumnGroupingDto + { + GroupIndex = 1, + AllowGrouping = true, + AutoExpandGroup = true + }) + } + }); + #endregion + } + #endregion + + #endregion } } diff --git a/api/src/Kurs.Platform.DbMigrator/Seeds/MenusData.json b/api/src/Kurs.Platform.DbMigrator/Seeds/MenusData.json index b9bc3167..03cf8c12 100644 --- a/api/src/Kurs.Platform.DbMigrator/Seeds/MenusData.json +++ b/api/src/Kurs.Platform.DbMigrator/Seeds/MenusData.json @@ -2221,7 +2221,7 @@ "ParentCode": null, "Code": "App.Coordinator", "DisplayName": "App.Coordinator", - "Order": 500, + "Order": 600, "Url": null, "Icon": "FcCollaboration", "RequiredPermissionName": null, @@ -2401,7 +2401,7 @@ "ParentCode": null, "Code": "App.Crm", "DisplayName": "App.Crm", - "Order": 600, + "Order": 700, "Url": null, "Icon": "FcContacts", "RequiredPermissionName": null, @@ -2471,7 +2471,7 @@ "ParentCode": null, "Code": "App.SupplyChain", "DisplayName": "App.SupplyChain", - "Order": 700, + "Order": 800, "Url": null, "Icon": "FcProcess", "RequiredPermissionName": null, @@ -2479,82 +2479,82 @@ }, { "ParentCode": "App.SupplyChain", - "Code": "App.SupplyChain.MaterialTypes", - "DisplayName": "App.SupplyChain.MaterialTypes", + "Code": "App.SupplyChain.MaterialType", + "DisplayName": "App.SupplyChain.MaterialType", "Order": 1, - "Url": "/admin/supplychain/materials/types", - "Icon": "FcDataSheet", - "RequiredPermissionName": "App.SupplyChain.MaterialTypes", + "Url": "/admin/list/list-materialtype", + "Icon": "FcPackage", + "RequiredPermissionName": "App.SupplyChain.MaterialType", "IsDisabled": false }, { "ParentCode": "App.SupplyChain", - "Code": "App.SupplyChain.MaterialGroups", - "DisplayName": "App.SupplyChain.MaterialGroups", + "Code": "App.SupplyChain.MaterialGroup", + "DisplayName": "App.SupplyChain.MaterialGroup", "Order": 2, - "Url": "/admin/supplychain/materials/groups", - "Icon": "FcGrid", - "RequiredPermissionName": "App.SupplyChain.MaterialGroups", + "Url": "/admin/list/list-materialgroup", + "Icon": "FcTreeStructure", + "RequiredPermissionName": "App.SupplyChain.MaterialGroup", "IsDisabled": false }, { "ParentCode": "App.SupplyChain", - "Code": "App.SupplyChain.Materials", - "DisplayName": "App.SupplyChain.Materials", + "Code": "App.SupplyChain.Material", + "DisplayName": "App.SupplyChain.Material", "Order": 3, "Url": "/admin/supplychain/materials", "Icon": "FcTodoList", - "RequiredPermissionName": "App.SupplyChain.Materials", + "RequiredPermissionName": "App.SupplyChain.Material", "IsDisabled": false }, { "ParentCode": "App.SupplyChain", - "Code": "App.SupplyChain.Suppliers", - "DisplayName": "App.SupplyChain.Suppliers", + "Code": "App.SupplyChain.Supplier", + "DisplayName": "App.SupplyChain.Supplier", "Order": 4, "Url": "/admin/supplychain/suppliers", "Icon": "FcBusiness", - "RequiredPermissionName": "App.SupplyChain.Suppliers", + "RequiredPermissionName": "App.SupplyChain.Supplier", "IsDisabled": false }, { "ParentCode": "App.SupplyChain", - "Code": "App.SupplyChain.Requests", - "DisplayName": "App.SupplyChain.Requests", + "Code": "App.SupplyChain.Request", + "DisplayName": "App.SupplyChain.Request", "Order": 5, "Url": "/admin/supplychain/requests", "Icon": "FcServices", - "RequiredPermissionName": "App.SupplyChain.Requests", + "RequiredPermissionName": "App.SupplyChain.Request", "IsDisabled": false }, { "ParentCode": "App.SupplyChain", - "Code": "App.SupplyChain.Quotations", - "DisplayName": "App.SupplyChain.Quotations", + "Code": "App.SupplyChain.Quotation", + "DisplayName": "App.SupplyChain.Quotation", "Order": 7, "Url": "/admin/supplychain/quotations", "Icon": "FcSurvey", - "RequiredPermissionName": "App.SupplyChain.Quotations", + "RequiredPermissionName": "App.SupplyChain.Quotation", "IsDisabled": false }, { "ParentCode": "App.SupplyChain", - "Code": "App.SupplyChain.Approvals", - "DisplayName": "App.SupplyChain.Approvals", + "Code": "App.SupplyChain.Approval", + "DisplayName": "App.SupplyChain.Approval", "Order": 8, "Url": "/admin/supplychain/approvals", "Icon": "FcApproval", - "RequiredPermissionName": "App.SupplyChain.Approvals", + "RequiredPermissionName": "App.SupplyChain.Approval", "IsDisabled": false }, { "ParentCode": "App.SupplyChain", - "Code": "App.SupplyChain.Orders", - "DisplayName": "App.SupplyChain.Orders", + "Code": "App.SupplyChain.Order", + "DisplayName": "App.SupplyChain.Order", "Order": 9, "Url": "/admin/supplychain/orders", "Icon": "FcShop", - "RequiredPermissionName": "App.SupplyChain.Orders", + "RequiredPermissionName": "App.SupplyChain.Order", "IsDisabled": false }, { @@ -2571,7 +2571,7 @@ "ParentCode": null, "Code": "App.Maintenance", "DisplayName": "App.Maintenance", - "Order": 800, + "Order": 900, "Url": null, "Icon": "FcFactory", "RequiredPermissionName": null, @@ -2641,7 +2641,7 @@ "ParentCode": null, "Code": "App.Warehouse", "DisplayName": "App.Warehouse", - "Order": 900, + "Order": 1000, "Url": null, "Icon": "FcOpenedFolder", "RequiredPermissionName": null, @@ -2741,7 +2741,7 @@ "ParentCode": null, "Code": "App.Projects", "DisplayName": "App.Projects", - "Order": 1000, + "Order": 1100, "Url": null, "Icon": "FcTimeline", "RequiredPermissionName": null, @@ -2821,7 +2821,7 @@ "ParentCode": null, "Code": "App.Hr", "DisplayName": "App.Hr", - "Order": 1100, + "Order": 1200, "Url": null, "Icon": "FcManager", "RequiredPermissionName": null, @@ -2981,7 +2981,7 @@ "ParentCode": null, "Code": "App.Mrp", "DisplayName": "App.Mrp", - "Order": 1200, + "Order": 1300, "Url": null, "Icon": "FcServices", "RequiredPermissionName": null, @@ -3081,7 +3081,7 @@ "ParentCode": null, "Code": "App.Accounting", "DisplayName": "App.Accounting", - "Order": 1300, + "Order": 1400, "Url": null, "Icon": "FcMoneyTransfer", "RequiredPermissionName": null, diff --git a/api/src/Kurs.Platform.DbMigrator/Seeds/PermissionsData.json b/api/src/Kurs.Platform.DbMigrator/Seeds/PermissionsData.json index 99bfaaab..cfd9e9e8 100644 --- a/api/src/Kurs.Platform.DbMigrator/Seeds/PermissionsData.json +++ b/api/src/Kurs.Platform.DbMigrator/Seeds/PermissionsData.json @@ -5352,17 +5352,17 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialTypes", + "Name": "App.SupplyChain.MaterialType", "ParentName": null, - "DisplayName": "App.SupplyChain.MaterialTypes", + "DisplayName": "App.SupplyChain.MaterialType", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialTypes.Create", - "ParentName": "App.SupplyChain.MaterialTypes", + "Name": "App.SupplyChain.MaterialType.Create", + "ParentName": "App.SupplyChain.MaterialType", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -5370,8 +5370,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialTypes.Update", - "ParentName": "App.SupplyChain.MaterialTypes", + "Name": "App.SupplyChain.MaterialType.Update", + "ParentName": "App.SupplyChain.MaterialType", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -5379,8 +5379,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialTypes.Delete", - "ParentName": "App.SupplyChain.MaterialTypes", + "Name": "App.SupplyChain.MaterialType.Delete", + "ParentName": "App.SupplyChain.MaterialType", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -5388,8 +5388,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialTypes.Export", - "ParentName": "App.SupplyChain.MaterialTypes", + "Name": "App.SupplyChain.MaterialType.Export", + "ParentName": "App.SupplyChain.MaterialType", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -5397,8 +5397,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialTypes.Import", - "ParentName": "App.SupplyChain.MaterialTypes", + "Name": "App.SupplyChain.MaterialType.Import", + "ParentName": "App.SupplyChain.MaterialType", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -5406,8 +5406,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialTypes.Activity", - "ParentName": "App.SupplyChain.MaterialTypes", + "Name": "App.SupplyChain.MaterialType.Activity", + "ParentName": "App.SupplyChain.MaterialType", "DisplayName": "Activity", "IsEnabled": true, "MultiTenancySide": 3, @@ -5415,17 +5415,17 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialGroups", + "Name": "App.SupplyChain.MaterialGroup", "ParentName": null, - "DisplayName": "App.SupplyChain.MaterialGroups", + "DisplayName": "App.SupplyChain.MaterialGroup", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialGroups.Create", - "ParentName": "App.SupplyChain.MaterialGroups", + "Name": "App.SupplyChain.MaterialGroup.Create", + "ParentName": "App.SupplyChain.MaterialGroup", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -5433,8 +5433,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialGroups.Update", - "ParentName": "App.SupplyChain.MaterialGroups", + "Name": "App.SupplyChain.MaterialGroup.Update", + "ParentName": "App.SupplyChain.MaterialGroup", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -5442,8 +5442,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialGroups.Delete", - "ParentName": "App.SupplyChain.MaterialGroups", + "Name": "App.SupplyChain.MaterialGroup.Delete", + "ParentName": "App.SupplyChain.MaterialGroup", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -5451,8 +5451,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialGroups.Export", - "ParentName": "App.SupplyChain.MaterialGroups", + "Name": "App.SupplyChain.MaterialGroup.Export", + "ParentName": "App.SupplyChain.MaterialGroup", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -5460,8 +5460,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialGroups.Import", - "ParentName": "App.SupplyChain.MaterialGroups", + "Name": "App.SupplyChain.MaterialGroup.Import", + "ParentName": "App.SupplyChain.MaterialGroup", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -5469,8 +5469,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.MaterialGroups.Activity", - "ParentName": "App.SupplyChain.MaterialGroups", + "Name": "App.SupplyChain.MaterialGroup.Activity", + "ParentName": "App.SupplyChain.MaterialGroup", "DisplayName": "Activity", "IsEnabled": true, "MultiTenancySide": 3, @@ -5478,17 +5478,17 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Materials", + "Name": "App.SupplyChain.Material", "ParentName": null, - "DisplayName": "App.SupplyChain.Materials", + "DisplayName": "App.SupplyChain.Material", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Materials.Create", - "ParentName": "App.SupplyChain.Materials", + "Name": "App.SupplyChain.Material.Create", + "ParentName": "App.SupplyChain.Material", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -5496,8 +5496,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Materials.Update", - "ParentName": "App.SupplyChain.Materials", + "Name": "App.SupplyChain.Material.Update", + "ParentName": "App.SupplyChain.Material", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -5505,8 +5505,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Materials.Delete", - "ParentName": "App.SupplyChain.Materials", + "Name": "App.SupplyChain.Material.Delete", + "ParentName": "App.SupplyChain.Material", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -5514,8 +5514,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Materials.Export", - "ParentName": "App.SupplyChain.Materials", + "Name": "App.SupplyChain.Material.Export", + "ParentName": "App.SupplyChain.Material", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -5523,8 +5523,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Materials.Import", - "ParentName": "App.SupplyChain.Materials", + "Name": "App.SupplyChain.Material.Import", + "ParentName": "App.SupplyChain.Material", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -5532,8 +5532,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Materials.Activity", - "ParentName": "App.SupplyChain.Materials", + "Name": "App.SupplyChain.Material.Activity", + "ParentName": "App.SupplyChain.Material", "DisplayName": "Activity", "IsEnabled": true, "MultiTenancySide": 3, @@ -5541,17 +5541,17 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Suppliers", + "Name": "App.SupplyChain.Supplier", "ParentName": null, - "DisplayName": "App.SupplyChain.Suppliers", + "DisplayName": "App.SupplyChain.Supplier", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Suppliers.Create", - "ParentName": "App.SupplyChain.Suppliers", + "Name": "App.SupplyChain.Supplier.Create", + "ParentName": "App.SupplyChain.Supplier", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -5559,8 +5559,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Suppliers.Update", - "ParentName": "App.SupplyChain.Suppliers", + "Name": "App.SupplyChain.Supplier.Update", + "ParentName": "App.SupplyChain.Supplier", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -5568,8 +5568,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Suppliers.Delete", - "ParentName": "App.SupplyChain.Suppliers", + "Name": "App.SupplyChain.Supplier.Delete", + "ParentName": "App.SupplyChain.Supplier", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -5577,8 +5577,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Suppliers.Export", - "ParentName": "App.SupplyChain.Suppliers", + "Name": "App.SupplyChain.Supplier.Export", + "ParentName": "App.SupplyChain.Supplier", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -5586,8 +5586,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Suppliers.Import", - "ParentName": "App.SupplyChain.Suppliers", + "Name": "App.SupplyChain.Supplier.Import", + "ParentName": "App.SupplyChain.Supplier", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -5595,8 +5595,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Suppliers.Activity", - "ParentName": "App.SupplyChain.Suppliers", + "Name": "App.SupplyChain.Supplier.Activity", + "ParentName": "App.SupplyChain.Supplier", "DisplayName": "Activity", "IsEnabled": true, "MultiTenancySide": 3, @@ -5604,17 +5604,17 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Requests", + "Name": "App.SupplyChain.Request", "ParentName": null, - "DisplayName": "App.SupplyChain.Requests", + "DisplayName": "App.SupplyChain.Request", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Requests.Create", - "ParentName": "App.SupplyChain.Requests", + "Name": "App.SupplyChain.Request.Create", + "ParentName": "App.SupplyChain.Request", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -5622,8 +5622,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Requests.Update", - "ParentName": "App.SupplyChain.Requests", + "Name": "App.SupplyChain.Request.Update", + "ParentName": "App.SupplyChain.Request", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -5631,8 +5631,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Requests.Delete", - "ParentName": "App.SupplyChain.Requests", + "Name": "App.SupplyChain.Request.Delete", + "ParentName": "App.SupplyChain.Request", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -5640,8 +5640,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Requests.Export", - "ParentName": "App.SupplyChain.Requests", + "Name": "App.SupplyChain.Request.Export", + "ParentName": "App.SupplyChain.Request", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -5649,8 +5649,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Requests.Import", - "ParentName": "App.SupplyChain.Requests", + "Name": "App.SupplyChain.Request.Import", + "ParentName": "App.SupplyChain.Request", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -5658,8 +5658,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Requests.Activity", - "ParentName": "App.SupplyChain.Requests", + "Name": "App.SupplyChain.Request.Activity", + "ParentName": "App.SupplyChain.Request", "DisplayName": "Activity", "IsEnabled": true, "MultiTenancySide": 3, @@ -5667,17 +5667,17 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotations", + "Name": "App.SupplyChain.Quotation", "ParentName": null, - "DisplayName": "App.SupplyChain.Quotations", + "DisplayName": "App.SupplyChain.Quotation", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotations.Create", - "ParentName": "App.SupplyChain.Quotations", + "Name": "App.SupplyChain.Quotation.Create", + "ParentName": "App.SupplyChain.Quotation", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -5685,8 +5685,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotations.Update", - "ParentName": "App.SupplyChain.Quotations", + "Name": "App.SupplyChain.Quotation.Update", + "ParentName": "App.SupplyChain.Quotation", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -5694,8 +5694,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotations.Delete", - "ParentName": "App.SupplyChain.Quotations", + "Name": "App.SupplyChain.Quotation.Delete", + "ParentName": "App.SupplyChain.Quotation", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -5703,8 +5703,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotations.Export", - "ParentName": "App.SupplyChain.Quotations", + "Name": "App.SupplyChain.Quotation.Export", + "ParentName": "App.SupplyChain.Quotation", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -5712,8 +5712,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotations.Import", - "ParentName": "App.SupplyChain.Quotations", + "Name": "App.SupplyChain.Quotation.Import", + "ParentName": "App.SupplyChain.Quotation", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -5721,8 +5721,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Quotations.Activity", - "ParentName": "App.SupplyChain.Quotations", + "Name": "App.SupplyChain.Quotation.Activity", + "ParentName": "App.SupplyChain.Quotation", "DisplayName": "Activity", "IsEnabled": true, "MultiTenancySide": 3, @@ -5730,17 +5730,17 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Approvals", + "Name": "App.SupplyChain.Approval", "ParentName": null, - "DisplayName": "App.SupplyChain.Approvals", + "DisplayName": "App.SupplyChain.Approval", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Approvals.Create", - "ParentName": "App.SupplyChain.Approvals", + "Name": "App.SupplyChain.Approval.Create", + "ParentName": "App.SupplyChain.Approval", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -5748,8 +5748,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Approvals.Update", - "ParentName": "App.SupplyChain.Approvals", + "Name": "App.SupplyChain.Approval.Update", + "ParentName": "App.SupplyChain.Approval", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -5757,8 +5757,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Approvals.Delete", - "ParentName": "App.SupplyChain.Approvals", + "Name": "App.SupplyChain.Approval.Delete", + "ParentName": "App.SupplyChain.Approval", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -5766,8 +5766,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Approvals.Export", - "ParentName": "App.SupplyChain.Approvals", + "Name": "App.SupplyChain.Approval.Export", + "ParentName": "App.SupplyChain.Approval", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -5775,8 +5775,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Approvals.Import", - "ParentName": "App.SupplyChain.Approvals", + "Name": "App.SupplyChain.Approval.Import", + "ParentName": "App.SupplyChain.Approval", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -5784,8 +5784,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Approvals.Activity", - "ParentName": "App.SupplyChain.Approvals", + "Name": "App.SupplyChain.Approval.Activity", + "ParentName": "App.SupplyChain.Approval", "DisplayName": "Activity", "IsEnabled": true, "MultiTenancySide": 3, @@ -5793,17 +5793,17 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Orders", + "Name": "App.SupplyChain.Order", "ParentName": null, - "DisplayName": "App.SupplyChain.Orders", + "DisplayName": "App.SupplyChain.Order", "IsEnabled": true, "MultiTenancySide": 3, "MenuGroup": "Erp" }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Orders.Create", - "ParentName": "App.SupplyChain.Orders", + "Name": "App.SupplyChain.Order.Create", + "ParentName": "App.SupplyChain.Order", "DisplayName": "Create", "IsEnabled": true, "MultiTenancySide": 3, @@ -5811,8 +5811,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Orders.Update", - "ParentName": "App.SupplyChain.Orders", + "Name": "App.SupplyChain.Order.Update", + "ParentName": "App.SupplyChain.Order", "DisplayName": "Update", "IsEnabled": true, "MultiTenancySide": 3, @@ -5820,8 +5820,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Orders.Delete", - "ParentName": "App.SupplyChain.Orders", + "Name": "App.SupplyChain.Order.Delete", + "ParentName": "App.SupplyChain.Order", "DisplayName": "Delete", "IsEnabled": true, "MultiTenancySide": 3, @@ -5829,8 +5829,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Orders.Export", - "ParentName": "App.SupplyChain.Orders", + "Name": "App.SupplyChain.Order.Export", + "ParentName": "App.SupplyChain.Order", "DisplayName": "Export", "IsEnabled": true, "MultiTenancySide": 3, @@ -5838,8 +5838,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Orders.Import", - "ParentName": "App.SupplyChain.Orders", + "Name": "App.SupplyChain.Order.Import", + "ParentName": "App.SupplyChain.Order", "DisplayName": "Import", "IsEnabled": true, "MultiTenancySide": 3, @@ -5847,8 +5847,8 @@ }, { "GroupName": "App.SupplyChain", - "Name": "App.SupplyChain.Orders.Activity", - "ParentName": "App.SupplyChain.Orders", + "Name": "App.SupplyChain.Order.Activity", + "ParentName": "App.SupplyChain.Order", "DisplayName": "Activity", "IsEnabled": true, "MultiTenancySide": 3, diff --git a/api/src/Kurs.Platform.Domain.Shared/Enums/LookUpQueryValues.cs b/api/src/Kurs.Platform.Domain.Shared/Enums/LookUpQueryValues.cs index b8f9cd3c..259ff92a 100644 --- a/api/src/Kurs.Platform.Domain.Shared/Enums/LookUpQueryValues.cs +++ b/api/src/Kurs.Platform.Domain.Shared/Enums/LookUpQueryValues.cs @@ -3,7 +3,7 @@ using static Kurs.Platform.PlatformConsts; namespace Kurs.Platform; -public static class LookUpQueryValues +public static class LookupQueryValues { public static string LanguageKeyValues = $"SELECT " + @@ -300,4 +300,11 @@ public static class LookUpQueryValues $"\"Title\" AS \"Name\" " + $"FROM \"{FullNameTable(TableNameEnum.Survey)}\" " + $"WHERE \"IsDeleted\" = 'false' "; + + public static string MaterialGroupValues = + $"SELECT " + + $"\"Id\" AS \"Key\", " + + $"\"Name\" AS \"Name\" " + + $"FROM \"{FullNameTable(TableNameEnum.MaterialGroup)}\" " + + $"WHERE \"IsDeleted\" = 'false' "; } \ No newline at end of file diff --git a/api/src/Kurs.Platform.Domain.Shared/Enums/MenuPrefixEnum.cs b/api/src/Kurs.Platform.Domain.Shared/Enums/MenuPrefixEnum.cs index 5629b6fa..d5564846 100644 --- a/api/src/Kurs.Platform.Domain.Shared/Enums/MenuPrefixEnum.cs +++ b/api/src/Kurs.Platform.Domain.Shared/Enums/MenuPrefixEnum.cs @@ -11,7 +11,7 @@ public enum MenuPrefix Participant, Coordinator, Crm, - Supplychain, + SupplyChain, Maintenance, Warehouse, Project, @@ -33,7 +33,7 @@ public static class MenuPrefixExtensions MenuPrefix.Participant => "Prt", MenuPrefix.Coordinator => "Crd", MenuPrefix.Crm => "Crm", - MenuPrefix.Supplychain => "Scp", + MenuPrefix.SupplyChain => "Scp", MenuPrefix.Maintenance => "Mnt", MenuPrefix.Warehouse => "Wh", MenuPrefix.Project => "Prj", diff --git a/api/src/Kurs.Platform.Domain.Shared/Enums/TableNameEnum.cs b/api/src/Kurs.Platform.Domain.Shared/Enums/TableNameEnum.cs index d2f8a446..39b5391a 100644 --- a/api/src/Kurs.Platform.Domain.Shared/Enums/TableNameEnum.cs +++ b/api/src/Kurs.Platform.Domain.Shared/Enums/TableNameEnum.cs @@ -134,5 +134,7 @@ public enum TableNameEnum SocialMedia, SocialPollOption, SocialComment, - SocialLike + SocialLike, + MaterialType, + MaterialGroup } \ No newline at end of file diff --git a/api/src/Kurs.Platform.Domain.Shared/PlatformConsts.cs b/api/src/Kurs.Platform.Domain.Shared/PlatformConsts.cs index 4ef5ed04..598ef78c 100644 --- a/api/src/Kurs.Platform.Domain.Shared/PlatformConsts.cs +++ b/api/src/Kurs.Platform.Domain.Shared/PlatformConsts.cs @@ -540,6 +540,14 @@ public static class PlatformConsts public const string SurveyQuestionOption = "list-surveyquestionoption"; public const string SurveyResponse = "list-surveyresponse"; public const string SocialPost = "list-socialpost"; + + //Supply Chain + public const string MaterialType = "list-materialtype"; + public const string MaterialGroup = "list-materialgroup"; + // public const string Supplier = "list-supplier"; + // public const string PurchaseOrder = "list-purchaseorder"; + // public const string Inventory = "list-inventory"; + } } diff --git a/api/src/Kurs.Platform.Domain.Shared/TableNameResolver.cs b/api/src/Kurs.Platform.Domain.Shared/TableNameResolver.cs index 1ef400ec..8a5dc5ca 100644 --- a/api/src/Kurs.Platform.Domain.Shared/TableNameResolver.cs +++ b/api/src/Kurs.Platform.Domain.Shared/TableNameResolver.cs @@ -155,6 +155,10 @@ public static class TableNameResolver { nameof(TableNameEnum.SocialComment), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Intranet) }, { nameof(TableNameEnum.SocialLike), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Intranet) }, + //Supply Chain + { nameof(TableNameEnum.MaterialType), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.SupplyChain) }, + { nameof(TableNameEnum.MaterialGroup), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.SupplyChain) }, + // 🔹 ACCOUNTING { nameof(TableNameEnum.Bank), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Accounting) }, { nameof(TableNameEnum.BankAccount), (PlatformConsts.TablePrefix.TenantByName, MenuPrefix.Accounting) }, diff --git a/api/src/Kurs.Platform.Domain/Data/SeedConsts.cs b/api/src/Kurs.Platform.Domain/Data/SeedConsts.cs index fecb3a21..7b417e99 100644 --- a/api/src/Kurs.Platform.Domain/Data/SeedConsts.cs +++ b/api/src/Kurs.Platform.Domain/Data/SeedConsts.cs @@ -483,6 +483,13 @@ public static class SeedConsts public const string SurveyResponse = Default + ".SurveyResponse"; } + public static class SupplyChain + { + public const string Default = Prefix.App + ".SupplyChain"; + public const string MaterialType = Default + ".MaterialType"; + public const string MaterialGroup = Default + ".MaterialGroup"; + } + public static class Accounting { public const string Default = Prefix.App + ".Accounting"; diff --git a/api/src/Kurs.Platform.Domain/Entities/Tenant/SupplyChain/MaterialGroup.cs b/api/src/Kurs.Platform.Domain/Entities/Tenant/SupplyChain/MaterialGroup.cs new file mode 100644 index 00000000..2edff216 --- /dev/null +++ b/api/src/Kurs.Platform.Domain/Entities/Tenant/SupplyChain/MaterialGroup.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using Volo.Abp.Domain.Entities.Auditing; +using Volo.Abp.MultiTenancy; + +namespace Kurs.Platform.Entities; + +public class MaterialGroup : FullAuditedEntity, IMultiTenant +{ + public Guid? TenantId { get; set; } + + public string Code { get; set; } + public string Name { get; set; } + + public Guid? ParentGroupId { get; set; } + public MaterialGroup ParentGroup { get; set; } + public ICollection SubGroups { get; set; } + + public string Description { get; set; } + public bool IsActive { get; set; } +} diff --git a/api/src/Kurs.Platform.Domain/Entities/Tenant/SupplyChain/MaterialType.cs b/api/src/Kurs.Platform.Domain/Entities/Tenant/SupplyChain/MaterialType.cs new file mode 100644 index 00000000..727e9f90 --- /dev/null +++ b/api/src/Kurs.Platform.Domain/Entities/Tenant/SupplyChain/MaterialType.cs @@ -0,0 +1,16 @@ +// Domain/Entities/MmMaterialType.cs +using System; +using Volo.Abp.Domain.Entities.Auditing; +using Volo.Abp.MultiTenancy; + +namespace Kurs.Platform.Entities; + +public class MaterialType : FullAuditedEntity, IMultiTenant +{ + public Guid? TenantId { get; set; } + + public string Code { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public bool IsActive { get; set; } +} diff --git a/api/src/Kurs.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs b/api/src/Kurs.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs index 2ed2c785..b2918b00 100644 --- a/api/src/Kurs.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs +++ b/api/src/Kurs.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs @@ -202,6 +202,11 @@ public class PlatformDbContext : public DbSet SocialLikes { get; set; } #endregion + #region Supply Chain + public DbSet MaterialTypes { get; set; } + public DbSet MaterialGroups { get; set; } + #endregion + public PlatformDbContext(DbContextOptions options) : base(options) { @@ -2169,7 +2174,6 @@ public class PlatformDbContext : .OnDelete(DeleteBehavior.Cascade); }); - // 🔹 SocialComment builder.Entity(b => { b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialComment)), Prefix.DbSchema); @@ -2183,7 +2187,6 @@ public class PlatformDbContext : .OnDelete(DeleteBehavior.Cascade); }); - // 🔹 SocialLike builder.Entity(b => { b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialLike)), Prefix.DbSchema); @@ -2194,5 +2197,33 @@ public class PlatformDbContext : .HasForeignKey(x => x.SocialPostId) .OnDelete(DeleteBehavior.Cascade); }); + + //Supply Chain + builder.Entity(b => + { + b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.MaterialType)), Prefix.DbSchema); + b.ConfigureByConvention(); + + b.Property(x => x.Code).IsRequired().HasMaxLength(50); + b.Property(x => x.Name).IsRequired().HasMaxLength(100); + b.Property(x => x.Description).HasMaxLength(500); + b.Property(x => x.IsActive).HasDefaultValue(true); + }); + + builder.Entity(b => + { + b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.MaterialGroup)), Prefix.DbSchema); + b.ConfigureByConvention(); + + b.Property(x => x.Code).IsRequired().HasMaxLength(50); + b.Property(x => x.Name).IsRequired().HasMaxLength(100); + b.Property(x => x.Description).HasMaxLength(500); + b.Property(x => x.IsActive).HasDefaultValue(true); + + b.HasOne(x => x.ParentGroup) + .WithMany(x => x.SubGroups) + .HasForeignKey(x => x.ParentGroupId) + .OnDelete(DeleteBehavior.Restrict); + }); } } diff --git a/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251029185945_Initial.Designer.cs b/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251030104555_Initial.Designer.cs similarity index 98% rename from api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251029185945_Initial.Designer.cs rename to api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251030104555_Initial.Designer.cs index 8d09972b..fdc5ab0c 100644 --- a/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251029185945_Initial.Designer.cs +++ b/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251030104555_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace Kurs.Platform.Migrations { [DbContext(typeof(PlatformDbContext))] - [Migration("20251029185945_Initial")] + [Migration("20251030104555_Initial")] partial class Initial { /// @@ -5401,6 +5401,137 @@ namespace Kurs.Platform.Migrations b.ToTable("P_Sas_ListFormImportExecute", (string)null); }); + modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ParentGroupId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("ParentGroupId"); + + b.ToTable("T_Scp_MaterialGroup", (string)null); + }); + + modelBuilder.Entity("Kurs.Platform.Entities.MaterialType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.ToTable("T_Scp_MaterialType", (string)null); + }); + modelBuilder.Entity("Kurs.Platform.Entities.Meal", b => { b.Property("Id") @@ -11872,6 +12003,16 @@ namespace Kurs.Platform.Migrations .IsRequired(); }); + modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b => + { + b.HasOne("Kurs.Platform.Entities.MaterialGroup", "ParentGroup") + .WithMany("SubGroups") + .HasForeignKey("ParentGroupId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("ParentGroup"); + }); + modelBuilder.Entity("Kurs.Platform.Entities.OrderItem", b => { b.HasOne("Kurs.Platform.Entities.Order", "Order") @@ -12462,6 +12603,11 @@ namespace Kurs.Platform.Migrations b.Navigation("Events"); }); + modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b => + { + b.Navigation("SubGroups"); + }); + modelBuilder.Entity("Kurs.Platform.Entities.Order", b => { b.Navigation("Items"); diff --git a/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251029185945_Initial.cs b/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251030104555_Initial.cs similarity index 98% rename from api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251029185945_Initial.cs rename to api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251030104555_Initial.cs index 3513fe45..cd64fce2 100644 --- a/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251029185945_Initial.cs +++ b/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/20251030104555_Initial.cs @@ -2302,6 +2302,59 @@ namespace Kurs.Platform.Migrations table.PrimaryKey("PK_T_Sas_Sector", x => x.Id); }); + migrationBuilder.CreateTable( + name: "T_Scp_MaterialGroup", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + Code = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + Name = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + ParentGroupId = table.Column(type: "uniqueidentifier", nullable: true), + Description = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: true), + IsActive = table.Column(type: "bit", nullable: false, defaultValue: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_T_Scp_MaterialGroup", x => x.Id); + table.ForeignKey( + name: "FK_T_Scp_MaterialGroup_T_Scp_MaterialGroup_ParentGroupId", + column: x => x.ParentGroupId, + principalTable: "T_Scp_MaterialGroup", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateTable( + name: "T_Scp_MaterialType", + columns: table => new + { + Id = table.Column(type: "uniqueidentifier", nullable: false), + TenantId = table.Column(type: "uniqueidentifier", nullable: true), + Code = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: false), + Name = table.Column(type: "nvarchar(100)", maxLength: 100, nullable: false), + Description = table.Column(type: "nvarchar(500)", maxLength: 500, nullable: true), + IsActive = table.Column(type: "bit", nullable: false, defaultValue: true), + CreationTime = table.Column(type: "datetime2", nullable: false), + CreatorId = table.Column(type: "uniqueidentifier", nullable: true), + LastModificationTime = table.Column(type: "datetime2", nullable: true), + LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), + IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), + DeleterId = table.Column(type: "uniqueidentifier", nullable: true), + DeletionTime = table.Column(type: "datetime2", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_T_Scp_MaterialType", x => x.Id); + }); + migrationBuilder.CreateTable( name: "AbpAuditLogActions", columns: table => new @@ -5531,6 +5584,11 @@ namespace Kurs.Platform.Migrations table: "T_Sas_ReportTemplate", column: "CategoryId"); + migrationBuilder.CreateIndex( + name: "IX_T_Scp_MaterialGroup_ParentGroupId", + table: "T_Scp_MaterialGroup", + column: "ParentGroupId"); + migrationBuilder.AddForeignKey( name: "FK_T_Hr_CostCenter_T_Hr_Department_DepartmentId", table: "T_Hr_CostCenter", @@ -5928,6 +5986,12 @@ namespace Kurs.Platform.Migrations migrationBuilder.DropTable( name: "T_Sas_Sector"); + migrationBuilder.DropTable( + name: "T_Scp_MaterialGroup"); + + migrationBuilder.DropTable( + name: "T_Scp_MaterialType"); + migrationBuilder.DropTable( name: "AbpEntityChanges"); diff --git a/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs b/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs index 9410a54d..fa95f359 100644 --- a/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs +++ b/api/src/Kurs.Platform.EntityFrameworkCore/Migrations/PlatformDbContextModelSnapshot.cs @@ -5398,6 +5398,137 @@ namespace Kurs.Platform.Migrations b.ToTable("P_Sas_ListFormImportExecute", (string)null); }); + modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ParentGroupId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("ParentGroupId"); + + b.ToTable("T_Scp_MaterialGroup", (string)null); + }); + + modelBuilder.Entity("Kurs.Platform.Entities.MaterialType", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasMaxLength(500) + .HasColumnType("nvarchar(500)"); + + b.Property("IsActive") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(true); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.ToTable("T_Scp_MaterialType", (string)null); + }); + modelBuilder.Entity("Kurs.Platform.Entities.Meal", b => { b.Property("Id") @@ -11869,6 +12000,16 @@ namespace Kurs.Platform.Migrations .IsRequired(); }); + modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b => + { + b.HasOne("Kurs.Platform.Entities.MaterialGroup", "ParentGroup") + .WithMany("SubGroups") + .HasForeignKey("ParentGroupId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("ParentGroup"); + }); + modelBuilder.Entity("Kurs.Platform.Entities.OrderItem", b => { b.HasOne("Kurs.Platform.Entities.Order", "Order") @@ -12459,6 +12600,11 @@ namespace Kurs.Platform.Migrations b.Navigation("Events"); }); + modelBuilder.Entity("Kurs.Platform.Entities.MaterialGroup", b => + { + b.Navigation("SubGroups"); + }); + modelBuilder.Entity("Kurs.Platform.Entities.Order", b => { b.Navigation("Items"); diff --git a/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json b/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json index 759cb240..b797784f 100644 --- a/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json +++ b/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/Seeds/TenantData.json @@ -3781,7 +3781,7 @@ "employeeCode": "EMP-001", "purpose": "İş Ortaklığı Görüşmesi", "status": "checked-in", - "photo": "https://i.pravatar.cc/150?img=12" + "photo": "https://i.pravatar.cc/150?img=12" }, { "fullName": "Fatma Yıldız", @@ -4181,5 +4181,80 @@ "postContent": "Yeni tasarım sistemimizin ilk prototipini hazırladık! Kullanıcı deneyimini iyileştirmek için çok çalıştık. Geri bildirimlerinizi bekliyorum! 🎨", "employeeCode": "EMP-003" } + ], + "MaterialTypes": [ + { + "code": "RAW", + "name": "Hammadde", + "description": "Üretimde kullanılan temel malzemeler", + "isActive": true + }, + { + "code": "SEMI", + "name": "Yarı Mamul", + "description": "Kısmen işlenmiş ürünler", + "isActive": true + }, + { + "code": "FINISHED", + "name": "Mamul", + "description": "Satışa hazır nihai ürünler", + "isActive": true + }, + { + "code": "CONSUMABLE", + "name": "Sarf Malzemesi", + "description": "Tüketilen yardımcı malzemeler", + "isActive": true + }, + { + "code": "SERVICE", + "name": "Hizmet", + "description": "Hizmet türü kalemler", + "isActive": true + }, + { + "code": "SPARE", + "name": "Yedek Parça", + "description": "Bakım ve onarım parçaları", + "isActive": true + } + ], + "MaterialGroups": [ + { + "code": "METAL", + "name": "Metal Malzemeler", + "description": "Çelik, alüminyum gibi metal ürün grupları.", + "isActive": true + }, + { + "code": "MOTOR", + "name": "Elektrik Motorları", + "description": "AC, DC ve servo motor grupları.", + "isActive": true + }, + { + "code": "PLASTIK", + "name": "Plastik Malzemeler", + "isActive": true + }, + { + "code": "KIMYA", + "name": "Kimyasal Maddeler", + "description": "Yağlar, solventler ve diğer kimyasallar.", + "isActive": true + }, + { + "code": "YARI-MAMUL", + "name": "Yarı Mamuller", + "parentGroupCode": "METAL", + "isActive": true + }, + { + "code": "MAMUL", + "name": "Mamuller", + "parentGroupCode": "METAL", + "isActive": true + } ] } diff --git a/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs b/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs index 943f5a05..36061d2f 100644 --- a/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs +++ b/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/TenantDataSeeder.cs @@ -90,7 +90,8 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency private readonly IRepository _socialPollOptionRepository; private readonly IRepository _socialCommentRepository; private readonly IRepository _socialLikeRepository; - private readonly IRepository _mealMenuRepository; + private readonly IRepository _materialTypeRepository; + private readonly IRepository _materialGroupRepository; public TenantDataSeeder( IRepository repositoryUser, @@ -165,7 +166,8 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency IRepository socialPollOptionRepository, IRepository socialCommentRepository, IRepository socialLikeRepository, - IRepository mealMenuRepository + IRepository materialTypeRepository, + IRepository materialGroupRepository ) { _repositoryUser = repositoryUser; @@ -241,7 +243,8 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency _socialPollOptionRepository = socialPollOptionRepository; _socialCommentRepository = socialCommentRepository; _socialLikeRepository = socialLikeRepository; - _mealMenuRepository = mealMenuRepository; + _materialTypeRepository = materialTypeRepository; + _materialGroupRepository = materialGroupRepository; } private static IConfigurationRoot BuildConfiguration() @@ -1595,5 +1598,41 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency }); } } + + //Supply Chain + foreach (var item in items.MaterialTypes) + { + var exists = await _materialTypeRepository.AnyAsync(x => x.Code == item.Code); + + if (!exists) + { + await _materialTypeRepository.InsertAsync(new MaterialType + { + Code = item.Code, + Name = item.Name, + Description = item.Description, + IsActive = item.IsActive + }, autoSave: true); + } + } + + foreach (var item in items.MaterialGroups) + { + var exists = await _materialGroupRepository.AnyAsync(x => x.Code == item.Code); + + if (!exists) + { + var parentGroup = await _materialGroupRepository.FirstOrDefaultAsync(x => x.Code == item.ParentGroupCode); + + await _materialGroupRepository.InsertAsync(new MaterialGroup + { + Code = item.Code, + Name = item.Name, + Description = item.Description, + IsActive = item.IsActive, + ParentGroupId = parentGroup != null ? parentGroup.Id : null + }, autoSave: true); + } + } } } diff --git a/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/TenantSeederDto.cs b/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/TenantSeederDto.cs index 56ee6377..51d38133 100644 --- a/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/TenantSeederDto.cs +++ b/api/src/Kurs.Platform.EntityFrameworkCore/Tenants/TenantSeederDto.cs @@ -52,6 +52,10 @@ public class TenantSeederDto public List Interesting { get; set; } public List Programs { get; set; } + //Supply Chain + public List MaterialTypes { get; set; } + public List MaterialGroups { get; set; } + //Hr public List EmployeeTypes { get; set; } public List JobPositions { get; set; } @@ -81,6 +85,23 @@ public class TenantSeederDto public List SocialLikes { get; set; } } +public class MaterialTypeSeedDto +{ + public string Code { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public bool IsActive { get; set; } +} + +public class MaterialGroupSeedDto +{ + public string Code { get; set; } + public string Name { get; set; } + public string Description { get; set; } + public string ParentGroupCode { get; set; } + public bool IsActive { get; set; } +} + public class EventCommentSeedDto { public string EventName { get; set; } diff --git a/ui/src/shared/useListFormColumns.ts b/ui/src/shared/useListFormColumns.ts index 2d209956..7a0d1172 100644 --- a/ui/src/shared/useListFormColumns.ts +++ b/ui/src/shared/useListFormColumns.ts @@ -443,9 +443,9 @@ const useListFormColumns = ({ // grouping column.allowGrouping = colData.columnGroupingDto?.allowGrouping - //if (colData.columnGroupingDto?.groupIndex > 0) - // column.groupIndex = colData.columnGroupingDto?.groupIndex; - //column.autoExpandGroup = colData.columnGroupingDto?.autoExpandGroup; + column.autoExpandGroup = colData.columnGroupingDto?.autoExpandGroup + if (colData.columnGroupingDto.groupIndex) + column.groupIndex = colData.columnGroupingDto?.groupIndex // constsa dinamik olarak css verilerini ekle if (colData.columnCssClass) { diff --git a/ui/src/types/mm.ts b/ui/src/types/mm.ts index 8e6e0138..48afb8a0 100644 --- a/ui/src/types/mm.ts +++ b/ui/src/types/mm.ts @@ -1,5 +1,5 @@ +import { DepartmentDto } from '@/proxy/intranet/models' import { Address, BusinessParty, PaymentTerms, PriorityEnum } from './common' -import { DepartmentDto } from './hr' import { WmWarehouse, WmZone, WmLocation } from './wm' export interface MmMaterial { diff --git a/ui/src/views/admin/role-management/RolesPermission.tsx b/ui/src/views/admin/role-management/RolesPermission.tsx index 88a5bef8..3d7cda08 100644 --- a/ui/src/views/admin/role-management/RolesPermission.tsx +++ b/ui/src/views/admin/role-management/RolesPermission.tsx @@ -261,7 +261,7 @@ function RolesPermission({
{translate('::Permission')} - {name}
-
+
diff --git a/ui/src/views/admin/user-management/UsersPermission.tsx b/ui/src/views/admin/user-management/UsersPermission.tsx index 83327f8a..ac1e1e97 100644 --- a/ui/src/views/admin/user-management/UsersPermission.tsx +++ b/ui/src/views/admin/user-management/UsersPermission.tsx @@ -221,7 +221,7 @@ function UsersPermission({
{translate('::Permission')} - {name}
-
+