diff --git a/.github/instructions/lowcode-reference.instructions.md b/.github/instructions/lowcode-reference.instructions.md index a123648d..e3c5f224 100644 --- a/.github/instructions/lowcode-reference.instructions.md +++ b/.github/instructions/lowcode-reference.instructions.md @@ -1197,7 +1197,7 @@ Kök menü `App.Administration`. Bu menünün tabloları `Adm_T_*` — yani **ki | Ekran | Kod / route | Tablo | Komponent üretirken ne işe yarar | | --- | --- | --- | --- | -| **Definitions › Sector** | `App.Definitions.Sector` | `Adm_T_Sector` | Sektör lookup'ı. | +| **Definitions › Sector** | `App.Definitions.Sector` | `Adm_T_Sector` | Sektör lookup’ı. Veri `configs/seeds/host/data/App.Definitions.Sector.json` dosyasından seed edilir. | | **Definitions › Department** | `App.Definitions.Department` | `Adm_T_Department` | `ParentId` ile **ağaç (TreeList) düzeninin** referansı; personel/onay ekranlarının departman lookup'ı. | | **Definitions › Job Position** | `App.Definitions.JobPosition` | `Adm_T_JobPosition` | Ünvan ağacı (`ParentId` + `DepartmentId`) — departmana bağlı cascade örneği. | | **Definitions › Org Chart** | `App.Definitions.OrgChart` · `/admin/organization` | `Adm_T_Department` | Departman/ünvan verisinin organizasyon şeması görünümü. | diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Administration.cs b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Administration.cs index edef0e44..c18ae0cf 100644 --- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Administration.cs +++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Administration.cs @@ -1918,6 +1918,10 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep ColumnOptionJson = DefaultColumnOptionJson(), PermissionJson = DefaultPermissionJson(listFormName), DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Sector)), + SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName), + SeedSyncInsert = false, + SeedSyncUpdate = false, + SeedSyncDelete = false, DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(), PagerOptionJson = DefaultPagerOptionJson, InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(), diff --git a/api/src/Sozsoft.Platform.EntityFrameworkCore/Seeds/TenantData.json b/api/src/Sozsoft.Platform.EntityFrameworkCore/Seeds/TenantData.json index af14f329..06dc4f09 100644 --- a/api/src/Sozsoft.Platform.EntityFrameworkCore/Seeds/TenantData.json +++ b/api/src/Sozsoft.Platform.EntityFrameworkCore/Seeds/TenantData.json @@ -1,153 +1,4 @@ { - "Sectors": [ - { - "Name": "Adalet ve Güvenlik" - }, - { - "Name": "Ağaç İşleri, Kağıt ve Kağıt Ürünleri" - }, - { - "Name": "Ambalaj" - }, - { - "Name": "Bilişim Teknolojileri" - }, - { - "Name": "Cam, Çimento ve Toprak" - }, - { - "Name": "Çevre" - }, - { - "Name": "Demir Çelik" - }, - { - "Name": "Diğer" - }, - { - "Name": "Eğitim" - }, - { - "Name": "Elektrik ve Elektronik" - }, - { - "Name": "Enerji" - }, - { - "Name": "Finans" - }, - { - "Name": "Gıda" - }, - { - "Name": "Giyim" - }, - { - "Name": "Güvenlik" - }, - { - "Name": "Hizmet-servis" - }, - { - "Name": "Hırdavat ve Nalburiye" - }, - { - "Name": "Isıtma, Soğutma ve Havalandırma" - }, - { - "Name": "İnşaat" - }, - { - "Name": "İş ve Yönetim" - }, - { - "Name": "Kantar" - }, - { - "Name": "Kimya, Petrol, Lastik ve Plastik" - }, - { - "Name": "Kimyasal" - }, - { - "Name": "Kırtasiye" - }, - { - "Name": "Kültür, Sanat ve Tasarım" - }, - { - "Name": "Laboratuar ve Test Ürünleri" - }, - { - "Name": "Maden" - }, - { - "Name": "Makine" - }, - { - "Name": "Makina" - }, - { - "Name": "Matbaa" - }, - { - "Name": "Medya, İletişim ve Yayıncılık" - }, - { - "Name": "Metal" - }, - { - "Name": "Ofis" - }, - { - "Name": "Otomotiv" - }, - { - "Name": "Oto Tamir-Servis" - }, - { - "Name": "Pnomatik" - }, - { - "Name": "Sağlık" - }, - { - "Name": "Sağlık ve Sosyal Hizmetler" - }, - { - "Name": "Sarf" - }, - { - "Name": "Spor ve Rekreasyon" - }, - { - "Name": "Tarım, Avcılık ve Balıkçılık" - }, - { - "Name": "Tartı" - }, - { - "Name": "Tekstil, Hazır Giyim, Deri" - }, - { - "Name": "Ticaret (Satış ve Pazarlama)" - }, - { - "Name": "Toplumsal ve Kişisel Hizmetler" - }, - { - "Name": "Transpalet" - }, - { - "Name": "Turizm, Konaklama, Yiyecek-İçecek Hizmetleri" - }, - { - "Name": "Ulaştırma, Lojistik ve Haberleşme" - }, - { - "Name": "Yedek Parça" - } - ], "BlogCategories": [ { "Name": "App.BlogCategories.Technology", diff --git a/api/src/Sozsoft.Platform.EntityFrameworkCore/Seeds/TenantDataSeeder.cs b/api/src/Sozsoft.Platform.EntityFrameworkCore/Seeds/TenantDataSeeder.cs index ebd64173..b258d2d3 100644 --- a/api/src/Sozsoft.Platform.EntityFrameworkCore/Seeds/TenantDataSeeder.cs +++ b/api/src/Sozsoft.Platform.EntityFrameworkCore/Seeds/TenantDataSeeder.cs @@ -26,7 +26,6 @@ public class TenantSeederDto public List Sequences { get; set; } //Definitions - public List Sectors { get; set; } public List WorkHours { get; set; } public List UomCategories { get; set; } public List Uoms { get; set; } @@ -236,11 +235,6 @@ public class GlobalSearchSeedDto public string Url { get; set; } } -public class SectorSeedDto -{ - public string Name { get; set; } -} - public class UomCategorySeedDto { public Guid Id { get; set; } @@ -474,7 +468,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency private readonly IRepository _blogCategoryRepository; private readonly IRepository _blogPostsRepository; private readonly IRepository _contactRepository; - private readonly IRepository _sectorRepository; private readonly IRepository _skillTypeRepository; private readonly IRepository _skillRepository; private readonly IRepository _skillLevelRepository; @@ -507,7 +500,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency IIdentityUserRepository repositoryUser, IRepository branchRepository, IRepository globalSearch, - IRepository sectorRepository, IRepository uomCategoryRepository, IRepository uomRepository, IRepository skillTypeRepository, @@ -549,7 +541,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency _repositoryUser = repositoryUser; _branchRepository = branchRepository; _globalSearch = globalSearch; - _sectorRepository = sectorRepository; _uomCategoryRepository = uomCategoryRepository; _uomRepository = uomRepository; _skillTypeRepository = skillTypeRepository; @@ -615,19 +606,6 @@ public class TenantDataSeeder : IDataSeedContributor, ITransientDependency } } - foreach (var item in items.Sectors) - { - var exists = await _sectorRepository.AnyAsync(x => x.Name == item.Name); - - if (!exists) - { - await _sectorRepository.InsertAsync(new Sector - { - Name = item.Name, - }, autoSave: true); - } - } - foreach (var item in items.UomCategories) { var exists = await _uomCategoryRepository.AnyAsync(x => x.Name == item.Name); diff --git a/configs/seeds/host/data/App.Definitions.Sector.json b/configs/seeds/host/data/App.Definitions.Sector.json new file mode 100644 index 00000000..86fd86e1 --- /dev/null +++ b/configs/seeds/host/data/App.Definitions.Sector.json @@ -0,0 +1,203 @@ +{ + "ListFormCode": "App.Definitions.Sector", + "KeyFieldName": "Id", + "GeneratedAt": "2026-09-04T11:17:53.5160069Z", + "Rows": [ + { + "Id": "b8a3e638-1fb5-5933-84b5-865d1fff88ab", + "Name": "Adalet ve Güvenlik" + }, + { + "Id": "e6d2204b-6bc1-5f22-85b2-cc90539904a1", + "Name": "Ağaç İşleri, Kağıt ve Kağıt Ürünleri" + }, + { + "Id": "74407722-37fa-51c6-af99-6e9fd3b088e3", + "Name": "Ambalaj" + }, + { + "Id": "76bba8d4-fc0a-5607-a5d0-6b7e24e3f67b", + "Name": "Bilişim Teknolojileri" + }, + { + "Id": "53c6da43-c8cb-56e1-b9d2-6cad7e3056ed", + "Name": "Cam, Çimento ve Toprak" + }, + { + "Id": "b0b655a8-34e9-5509-a993-9964000385af", + "Name": "Çevre" + }, + { + "Id": "554bb3d3-7b61-5f79-b2c6-348eefe069fb", + "Name": "Demir Çelik" + }, + { + "Id": "5deda98f-c6e8-55a6-80a3-884019439546", + "Name": "Diğer" + }, + { + "Id": "5058eda3-f83b-5e74-855f-4750ab6b0143", + "Name": "Eğitim" + }, + { + "Id": "a763b241-5aa3-5eb8-a5fc-fd7521ca8c41", + "Name": "Elektrik ve Elektronik" + }, + { + "Id": "1615321e-3fd5-59e6-b221-614e337c73ac", + "Name": "Enerji" + }, + { + "Id": "90d8f813-6e3a-53ef-9732-656584d9db1c", + "Name": "Finans" + }, + { + "Id": "1bd34326-ad8e-500c-a6ba-449dcca7ae91", + "Name": "Gıda" + }, + { + "Id": "21c83dec-6ada-50ed-b930-76577393f5c7", + "Name": "Giyim" + }, + { + "Id": "de924df2-7590-588b-8ba5-f8c5d97e38a7", + "Name": "Güvenlik" + }, + { + "Id": "71f400f5-eaee-590c-b0c5-4f3cb68304c6", + "Name": "Hizmet-servis" + }, + { + "Id": "1d690bfe-f4c4-521f-8035-f16e7f21090a", + "Name": "Hırdavat ve Nalburiye" + }, + { + "Id": "85de9622-9bcc-50cb-91ea-630c1e5bdd66", + "Name": "Isıtma, Soğutma ve Havalandırma" + }, + { + "Id": "4bcaf05e-4c16-533f-922c-744aa3cbe678", + "Name": "İnşaat" + }, + { + "Id": "d9ebb35a-8fe0-5906-892b-f2a89ab59e67", + "Name": "İş ve Yönetim" + }, + { + "Id": "a5137d95-8a08-5410-8291-e83383cbab9e", + "Name": "Kantar" + }, + { + "Id": "ba768916-63fe-5040-9b1f-d09275be450d", + "Name": "Kimya, Petrol, Lastik ve Plastik" + }, + { + "Id": "5a0b1fbe-be9b-5eb2-8974-e76cbc48a60a", + "Name": "Kimyasal" + }, + { + "Id": "4df23bc9-265c-5864-ba6b-c3da86e30100", + "Name": "Kırtasiye" + }, + { + "Id": "90a7eb83-48c7-523d-8bf6-e94fbb223daa", + "Name": "Kültür, Sanat ve Tasarım" + }, + { + "Id": "dcbf7eaf-7b34-57a9-a468-4cc53b6210c7", + "Name": "Laboratuar ve Test Ürünleri" + }, + { + "Id": "46f57117-a2f8-5f27-af89-73ea0c6969e8", + "Name": "Maden" + }, + { + "Id": "1bda840e-0062-50a8-b5a3-00cf7b563cec", + "Name": "Makine" + }, + { + "Id": "cd86f142-5fd3-5753-98c8-c23043192fff", + "Name": "Makina" + }, + { + "Id": "b180d623-ebfa-5d9a-b7b4-2dde2fe4b16c", + "Name": "Matbaa" + }, + { + "Id": "6637edab-edf5-5661-b20a-f241ab03c217", + "Name": "Medya, İletişim ve Yayıncılık" + }, + { + "Id": "5a8e4461-91fa-59be-a840-9f51e65ed031", + "Name": "Metal" + }, + { + "Id": "ba089d5d-401c-5895-a816-f1b99afe6a58", + "Name": "Ofis" + }, + { + "Id": "115173e9-9d3f-5dbd-85db-72145e355e69", + "Name": "Otomotiv" + }, + { + "Id": "a41d869c-3e6f-5ef4-b211-c660bbf0a106", + "Name": "Oto Tamir-Servis" + }, + { + "Id": "055360c3-c38c-5fee-a639-9cca875be82a", + "Name": "Pnomatik" + }, + { + "Id": "eea289a7-2377-5349-97f1-b6ac20b0460c", + "Name": "Sağlık" + }, + { + "Id": "42008abb-8945-584e-afa1-fa9767b6406c", + "Name": "Sağlık ve Sosyal Hizmetler" + }, + { + "Id": "8495154c-d016-5efe-9348-e3d946c40eb9", + "Name": "Sarf" + }, + { + "Id": "3fbb59ef-a14c-55f3-b083-d1f7bcdaf71d", + "Name": "Spor ve Rekreasyon" + }, + { + "Id": "6b363435-b2de-5144-8a68-2d913f5e44a7", + "Name": "Tarım, Avcılık ve Balıkçılık" + }, + { + "Id": "31f1ace2-e3af-56e1-b00a-664656249d55", + "Name": "Tartı" + }, + { + "Id": "d3f770c1-ab8a-5dea-b7f9-f3f3b79765b5", + "Name": "Tekstil, Hazır Giyim, Deri" + }, + { + "Id": "19fb8bd2-d867-5297-8805-fabc77a059db", + "Name": "Ticaret (Satış ve Pazarlama)" + }, + { + "Id": "1838c013-03a1-540b-b641-9b9c8c7f253f", + "Name": "Toplumsal ve Kişisel Hizmetler" + }, + { + "Id": "0115c3c6-2c97-5323-a201-e654e28282a5", + "Name": "Transpalet" + }, + { + "Id": "1fe5aab6-3838-5630-8009-538f7e2954e4", + "Name": "Turizm, Konaklama, Yiyecek-İçecek Hizmetleri" + }, + { + "Id": "f7a405ee-4736-5484-a8b2-77d8d5a18537", + "Name": "Ulaştırma, Lojistik ve Haberleşme" + }, + { + "Id": "dcf7ac57-c5a5-5cfa-b4a8-37aa90c65229", + "Name": "Yedek Parça" + } + ] +} \ No newline at end of file