diff --git a/.github/instructions/lowcode-reference.instructions.md b/.github/instructions/lowcode-reference.instructions.md
index bb6830cd..904a5d4f 100644
--- a/.github/instructions/lowcode-reference.instructions.md
+++ b/.github/instructions/lowcode-reference.instructions.md
@@ -1168,7 +1168,7 @@ bir kez çalışır; açılış verisi çekme ve `refs` üzerinden ilk durumu ku
`BackgroundWorker` kaydı (`Sas_H_BackgroundWorker`, ekran Saas › Background Workers ›
Recurring Jobs) `WorkerType: 1` (MailQueueWorker) ise gövde bu modüldür
(`api/modules/Sozsoft.MailQueue`). Diğer tipler: `2` SqlWorker (`BeforeSp`/`AfterSp`) · `3`
-NotificationWorker · `4` SessionCleanupWorker · `5` BackupWorker. `Scope`: `1` Host · `2` Tenant ·
+NotificationWorker · `4` SessionCleanupWorker · `5` BackupWorker · `6` ProbationReminderWorker. `Scope`: `1` Host · `2` Tenant ·
`3` All (host + her kiracı) — kiracı tablosuna dokunan iş `Host` olamaz (`README.md` §14). Hazır
işler `data/App.BackgroundWorkers.RecurringJobs.json` ile gelir.
@@ -1256,6 +1256,7 @@ soneklerini alır.
| **Definitions › AiBot** | `App.Definitions.AiBot` | `Sas_H_AiBot` | host | Yapay zekâ asistanı tanımı (`Name`, `ApiUrl`, `Tenants`); `/admin/ai` bu kayıtları kullanır. |
| **Definitions › Global Search** | `App.Definitions.GlobalSearch` | `Sas_T_GlobalSearch` | tenant | Üretilen ekranın üst aramada çıkması için kayıt: `System`, `Group`, `Term`, `Weight`, `Url`. |
| **Definitions › Contact Title** | `App.Definitions.ContactTitle` | `Sas_H_ContactTitle` | host | Ünvan/hitap lookup'ı (`Title`, `Abbreviation`). |
+| **Definitions › Termination Reasons** | `App.Definitions.TerminationReason` | `Sas_H_TerminationReason` | host | SGK işten çıkış kodları (`Code`, `Name`, `IsActive`); mevzuat kodu olduğu için bütün kiracılarda ortaktır. Seed `data/App.Definitions.TerminationReason.json` (06/07 mülga). Kullanıcının `TerminationReasonId` alanı `LookupQueryValues.TerminationReasonValues` ile buraya bağlanır. |
| **Definitions › Currency** | `App.Definitions.Currency` | `Sas_H_Currency` | host | Para birimi + `Rate`. Tutar alanı olan ekranın kur lookup'ı ve `DbQuery` varsayılanı buradan beslenir. |
| **Definitions › Country Group / Country / City / District** | `App.Definitions.CountryGroup` · `.Country` · `.City` · `.District` | `Sas_H_CountryGroup` · `Sas_H_Country` · `Sas_H_City` · `Sas_H_District` | host | Adres alanlarının hazır cascade zinciri (dört ayrı menü ve seed dosyası; `Order` sırası grup → ülke → il → ilçe). `Country` ayrıca `PhoneCode`, `PhoneNumberFormat`, `ZipRequired`, `StateRequired`, `TaxLabel` taşır — adres doğrulaması için kullan. |
| **Public › Products / Payment Methods / Installment Options** | `App.Orders.Products` · `.PaymentMethods` · `.InstallmentOptions` | `Sas_H_Product` · `Sas_H_PaymentMethod` · `Sas_H_InstallmentOption` | host | Ürün, ödeme yöntemi (`Commission`), taksit — satış/abonelik ekranlarının ve public `/products` sayfasının kaynağı. |
@@ -1304,19 +1305,17 @@ ekranları ABP tablolarıdır, Licence/Dev Request host tablolarını okur.
| **Bildirimler › Bildirimler** | `App.Notifications.Notification` | `Adm_T_Notification` | Hem kuyruk günlüğü hem elle gönderim ekranı: liste kural motorunun ürettiklerini de gösterir, ekleme formu alıcı × kanal açılımını kuyruğa yazar (`InsertServiceAddress = list-form-dynamic-api/notification-insert`; `dxTagBox` çoklu alıcı/kanal). Tip her zaman `Manuel`, güncelleme kapalı. Ayrı bir manuel gönderim tablosu yoktur. Ayrıntı: `README.md` §13.5.1. |
| **Agenda** | `App.Agenda` | `Adm_T_Agenda` | **Takvim (Scheduler) düzeninin** referansı (`DefaultLayout: scheduler`): `StartDate`, `EndDate`, `AllDay`, `RecurrenceRule`, `RecurrenceException`. Tekrarlayan randevu isteği kod gerektirmez. |
| **Settings** | `App.Setting` · `/admin/settings` | — | `SettingDefinition` kayıtlarından üretilen ayar ekranı; değerler burada girilir. |
-| **Intranet › Announcement** | `App.Intranet.Announcement` (alt formlar Like/Comment) | `Adm_T_Announcement` · `Adm_T_AnnouncementLike` · `Adm_T_AnnouncementComment` | Duyuru + beğeni + yorum: **ana kayıt / alt etkileşim** kalıbının hazır örneği. |
-| **Intranet › Survey** | `App.Intranet.Survey` (alt form Question → Option; Response → Answer) | `Adm_T_Survey` · `Adm_T_SurveyQuestion` · `Adm_T_SurveyQuestionOption` · `Adm_T_SurveyResponse` · `Adm_T_SurveyAnswer` | Anket motoru; soru–seçenek–yanıt zinciri **iki seviyeli alt form** ihtiyacının referansıdır. |
-| **Intranet › Social Post** | `App.Intranet.SocialPost` | `Adm_T_SocialPost` · `Adm_T_SocialComment` · `Adm_T_SocialLike` (+ `SocialPollOption`, `SocialMedia`, `SocialLocation`) | Kurum içi akış; `IsLiked`, `IsOwnPost` gibi hesaplanmış kolonların view içinde üretilmesine örnek. Alt formlar: `App.Intranet.SocialMedia`, `SocialComment`, `SocialLike` (`Id` → `SocialPostId`); anket seçenekleri (`App.Intranet.SocialPollOption`) medyaya bağlı olduğu için `SocialMedia` ekranının alt formudur (`Id` → `SocialMediaId`). |
-| **Intranet › Event Type / Category / Event** | `App.Intranet.Events.EventType` · `.EventCategory` · `.Event` | `Adm_T_EventType` · `Adm_T_EventCategory` · `Adm_T_Event` · `Adm_T_EventPhoto` · `Adm_T_EventLike` · `Adm_T_EventComment` | Etkinlik yönetimi; foto ve katılımcı sayacı olan kayıt kalıbı. `EventLike`/`EventComment` alt formdur, `EventPhoto` menüde yer almaz; yetkileri `App.Intranet.Events.Event` altındadır. `Adm_T_EventPhoto` tablosu `sql/object/Adm_T_EventPhoto.sql` ile oluşturulur. |
-| **Intranet › Documents** | `App.Intranet.Document` · `/admin/intranet-documents` | Dosya yöneticisi (`intranet` / `intranet\|_passive` klasörleri) | Kurum içi doküman paylaşımı — aktif/pasif klasör, yükleme, taşıma, toplu silme. Doküman listesi isteği yeni tablo gerektirmez. |
| **Restrictions › Work Hour** | `App.Restrictions.WorkHour` | `Adm_T_WorkHour` | Gün bazlı çalışma saati (`Monday`…`Sunday`, `StartTime`, `EndTime`); kullanıcıya `AbpUsers.WorkHour` ile bağlanır. "Sadece mesai saatinde girilebilsin" burada çözülür. |
| **Restrictions › IP Restrictions** | `App.Restrictions.IpRestrictions` | `Adm_T_IpRestriction` | `ResourceType` + `ResourceId` + `IP` — kullanıcı/rol bazlı IP kısıtı. |
| **Identity › Permission Groups / Permissions** | `Abp.Identity.PermissionGroups` · `Abp.Identity.Permissions` | `AbpPermissionGroups` · `AbpPermissions` | Yetki ağacı (tree düzeni). Yeni ekranın yetkileri burada görünür; `Modules` kolonu yetkiyi modüllere bağlar (pipe ile çoklu), `Order` kardeşler arası sıradır. Seed: `data/Abp.Identity.Permission{Groups,s}.json`. |
| **Identity › Claim Type** | `App.IdentityManagement.ClaimType` | `AbpClaimTypes` | Kullanıcıya ek alan (claim) tanımı: `ValueType`, `Regex`, `Required`, `IsStatic`. |
| **Identity › Roles** | `AbpIdentity.Roles` | `AbpRoles` | Rol yönetimi + `RolesPermission` diyaloğu; yeni ekranın yetkisi role buradan verilir. Yazma `list-form-dynamic-api/role-*`. |
-| **Identity › Users** | `AbpIdentity.Users` · detay `/admin/users/detail/:userId` | `AbpUsers` | Kullanıcı yönetimi + `UsersPermission` diyaloğu, **KPI widget'ları** ve `list-form-dynamic-api/user-*` ile devredilen yazma. Kullanıcı `WorkHour`, `DepartmentId`, `JobPositionId`, `Gender` (`Male`/`Female`, `App.StaticLookup.*`) ve `HomeAddress` alanlarını liste ve formda taşır; kişisel ve kimlik bilgileri (`IdentityNumber`, `BirthDate`, `EducationLevel`, `Nationality`, `SskNo`…) detay ekranındadır. Detaydaki **Sağlık Kartı** sekmesi `BloodType` ile soy geçmişini (`{Mother,Father,Sibling,Child}HealthStatus` — `Alive`/`Deceased`, `App.StaticLookup.*` — ve `…HealthNote`) ve öz geçmişini (`ChronicDisease`, `TetanusVaccination`, `HepatitisVaccination`, `OtherVaccination`) taşır; sekme dört gruptur (Soy/Öz Geçmişi, Laboratuvar - Fizik Muayene `Lab*`/`Exam*`, Anamnez `Complaint*`/`Diagnosis*` + 3-10. sorular, Sonuç `FitForWork*`/`ShiftWorkFit`/`NightWorkFit`). Sonuçtaki hekim (`FitnessDoctorId`, `ShiftNightDoctorId`) wizard tablosu `Hr_T_Doctor`'dan `LookupQueryValues.TenantDoctorValues` ile seçilir; diploma ve işyeri hekimliği belgesi hekimden gösterilir, kullanıcıya yazılmaz. Bu alanların hepsi listede gizli alandır; arayüz `user-management/HealthCardTab.tsx`. Kullanıcı seçen her lookup bu bilgileri `AbpUsers`'tan okur ve kopya kolon aynı ad/tip/değer kümesiyle açılır (`lowcode.instructions.md` §0.12 madde 5). Yeni bir kullanıcı alanı = `PlatformConsts.AbpIdentity.User` + `AbpIdentityUserExtensions` + EF eşlemesi ve migration + `UserInfoViewModel` (detay/profil) + `CreateUpdateUserInput` ve `user-insert`/`user-update` (liste) + `ListFormSeeder_Administration` alanı. |
+| **Identity › Users** | `AbpIdentity.Users` · detay `/admin/users/detail/:userId` | `AbpUsers` | Kullanıcı yönetimi + `UsersPermission` diyaloğu, **KPI widget'ları** ve `list-form-dynamic-api/user-*` ile devredilen yazma. Kullanıcı `WorkHour`, `DepartmentId`, `JobPositionId`, `Gender` (`Male`/`Female`, `App.StaticLookup.*`) ve `HomeAddress` alanlarını liste ve formda taşır; kişisel ve kimlik bilgileri (`IdentityNumber`, `BirthDate`, `EducationLevel`, `Nationality`, `SskNo`…) detay ekranındadır. Detay sekmeleri karışmasın diye gruplanmıştır: **General** (iletişim + ikinci e-posta/telefon, ek bilgi, avatar, askerlik `MilitaryStatus`/`MilitaryPostponeEndDate`, engellilik `IsDisabled`/`DisabilityRate`/`DisabilityReport` — rapor base64, 5 MB), **Identity** (nüfus cüzdanı, doğum ve aile, uyruk Türkiye değilse yabancı uyruk `Passport*`/`WorkPermit*`), **Work** (organizasyon `RegistrationNo`/`SskNo`/`ShiftId`/`PdksCardNo`, sözleşme `EmploymentType`/`ContractType`/`ContractEndDate`/`ProbationEndDate`/`SeniorityStartDate`, çıkış `TerminationDate`/`TerminationReasonId`/`TerminationNote`, sürücü belgesi `DrivingLicense*` — sınıflar `|` ile, iletişim kanalları; altında iş deneyimi), **Education & Skills** (en yüksek `EducationLevel` + eğitim/dil/yetenek/belge alt listeleri), **Family / Emergency**, **Financial** (`BankName`, `Iban`, `SalaryType`, `GrossSalary`, `SalaryCurrency` + yan haklar), Health, Permissions, Lockout, Claims. Deneme süresi işe girişten en fazla dört ay sonra biter (`UpdateUserAsync` ve ekran doğrular). Ücret alanları `UserInfoViewModel`'de taşınmaz — o model intranet doğum günü listesine de akar; `GET {id}/financial` / `PUT financial` uçlarından okunur, yetki detayınkiyle aynıdır (`AbpIdentity.Users.Update`). Aynı sebeple `DisabilityReport` yalnızca `GetByIdAsync`'te doldurulur. `ShiftId`, `TerminationReasonId`, `SalaryCurrency` seçenekleri ekranda `list-form-select/lookup` ile bu ListForm'un alan lookup'larından okunur (`useUserFieldLookup`). Detaydaki **Sağlık Kartı** sekmesi `BloodType` ile soy geçmişini (`{Mother,Father,Sibling,Child}HealthStatus` — `Alive`/`Deceased`, `App.StaticLookup.*` — ve `…HealthNote`) ve öz geçmişini (`ChronicDisease`, `TetanusVaccination`, `HepatitisVaccination`, `OtherVaccination`) taşır; sekme dört gruptur (Soy/Öz Geçmişi, Laboratuvar - Fizik Muayene `Lab*`/`Exam*`, Anamnez `Complaint*`/`Diagnosis*` + 3-10. sorular, Sonuç `FitForWork*`/`ShiftWorkFit`/`NightWorkFit`). Sonuçtaki hekim (`FitnessDoctorId`, `ShiftNightDoctorId`) wizard tablosu `Hr_T_Doctor`'dan `LookupQueryValues.TenantDoctorValues` ile seçilir; diploma ve işyeri hekimliği belgesi hekimden gösterilir, kullanıcıya yazılmaz. Bu alanların hepsi listede gizli alandır; arayüz `user-management/HealthCardTab.tsx`. Kullanıcı seçen her lookup bu bilgileri `AbpUsers`'tan okur ve kopya kolon aynı ad/tip/değer kümesiyle açılır (`lowcode.instructions.md` §0.12 madde 5). Yeni bir kullanıcı alanı = `PlatformConsts.AbpIdentity.User` + `AbpIdentityUserExtensions` + EF eşlemesi ve migration + `UserInfoViewModel` (detay/profil) + `CreateUpdateUserInput` ve `user-insert`/`user-update` (liste) + `ListFormSeeder_Administration` alanı. |
| **Identity › Users › Work Experience** | `App.IdentityManagement.UserWorkExperience` (menüsüz alt liste) | `Adm_T_UserWorkExperience` | Kullanıcının daha önce çalıştığı yerler: `CompanyName`, `SectorId` (Sektörler lookup'ı, `LookupQueryValues.TenantSectorValues`), `StartDate`, `EndDate`, `JobDescription` (HtmlEditor). Entity `IMultiTenant`; kullanıcı detayının Work sekmesinde `PlatformViewHost` ile `UserId` filtresiyle gömülüdür, yeni satır `UserId`'yi filtreden alır. Kendi yetkisi yoktur: okuma `AbpIdentity.Users`, ekleme/güncelleme/silme detay sayfasının yetkisi `AbpIdentity.Users.Update`. |
| **Identity › Users › Health Card lists** | `App.IdentityManagement.UserPeriodicExamination` · `.UserPatientProtocol` · `.UserSickLeave` (menüsüz alt listeler) | `Adm_T_UserPeriodicExamination` · `Adm_T_UserPatientProtocol` · `Adm_T_UserSickLeave` | Periyodik muayene (hekim `Hr_T_Doctor`'dan, diploma no seçimde `EditorScript.Copy` ile kopyalanır), hasta protokol defteri (`ProtocolType`/`ProtocolResult` statik lookup) ve istirahat listesi (`Days` tarihlerden `EditorScript.Days` ile hesaplanır). Entity'ler `IMultiTenant`; Sağlık Kartı sekmesinde (`HealthCardTab.tsx`) `UserId` filtresiyle gömülüdür. Yetki Work Experience ile aynıdır: okuma `AbpIdentity.Users`, ekleme/güncelleme/silme `AbpIdentity.Users.Update`. |
+| **Identity › Users › Education & Skills lists** | `App.IdentityManagement.UserEducation` · `.UserLanguage` · `.UserSkill` · `.UserCertificate` (menüsüz alt listeler) | `Adm_T_UserEducation` · `Adm_T_UserLanguage` · `Adm_T_UserSkill` · `Adm_T_UserCertificate` | Eğitim geçmişi (`EducationLevel` kullanıcınınkiyle aynı değerler, `SchoolName`, `Department`, `StartDate`, `EndDate`, `IsGraduated`), yabancı dil (`SkillId` → `Languages` tipindeki `Hr_T_Skill`, `SkillLevelId` dilin tipine ait `Hr_T_SkillLevel`, cascade), yetenek (`SkillId` → `Languages` dışındaki tipler, `Level` 1-5 statik lookup, check constraint) ve yeterlilik belgesi (`CertificateId` → wizard tablosu `Hr_T_Certificate`, EF ilişkisi yok; `CertificateNo`, `IssuedBy`, `IssueDate`, `ExpiryDate`). Lookup'lar `LookupQueryValues.Tenant{LanguageSkill,SkillLevelBySkill,NonLanguageSkill,Certificate}Values`. `EducationSkillsTab.tsx`; yetki Work Experience ile aynıdır. |
+| **Identity › Users › Family / Emergency lists** | `App.IdentityManagement.UserFamilyMember` · `.UserEmergencyContact` | `Adm_T_UserFamilyMember` · `Adm_T_UserEmergencyContact` | Eş ve çocuklar (`Relationship` `Spouse`/`Child`, ad, TC, doğum tarihi, `EmploymentStatus`, `IsInsuranceCovered`, `IsBenefitCovered`) ve acil durum kişileri (ad, `Relationship`, telefon). `FamilyEmergencyTab.tsx`; yetki Work Experience ile aynıdır. |
+| **Identity › Users › Benefits** | `App.IdentityManagement.UserBenefit` | `Adm_T_UserBenefit` | Yan haklar (`BenefitType` statik lookup `App.StaticLookup.Benefit*`, `Amount`, `StartDate`, `EndDate`, `Note`); Financial sekmesinde (`FinancialTab.tsx`). Yetki Work Experience ile aynıdır. |
| **Identity › Organization Units** | `Abp.Identity.OrganizationUnits` · `/admin/ous` | ABP OU tabloları | Birim ağacı. Ekranı `IsOrganizationUnit = true` yaparsan veri bu ağaca göre süzülür; bildirim alıcısı da OU olabilir. |
| **Identity › Audit Logs** | `App.IdentityManagement.AuditLogs` | `AbpAuditLogs` | İstek denetim kaydı + `AuditLogDetail` diyaloğu. "Kim ne zaman ne yaptı" isteği yeni tablo gerektirmez. |
| **Identity › Sessions** | `App.IdentityManagement.Sessions` | `AbpSessions` | Açık oturumlar; `UiEvalService.ApiKickUser` ile oturum düşürme (`lowcode` §9.13). |
@@ -1353,6 +1352,10 @@ ListForm kodu / menü kodu / yetki adı / dil anahtarı `App.Hr.*`, seed dosyas
seeder `ListFormSeeder_Hr.cs` (`SeedConsts.AppCodes.Hr`, `PlatformConsts.AppCodes.Hr`), entity
klasörü `Entities/Tenant/Hr/Definitions`. Tanımlar alt menüsü `App.Hr.Definitions`'tır
(`App.Platform.Definitions` başlığı); Organizasyon Şeması doğrudan `App.Hr` altındadır.
+Intranet de bu moduldedir: menü `App.Hr.Intranet`, ekran/yetki kodları `App.Hr.Intranet.*`
+(`SeedConsts.AppCodes.Intranet`), tablolar `Hr_T_{Announcement,Survey*,Social*,Event*}` ve mesajlaşma
+`Hr_T_MessengerConversation*`, entity klasörü `Entities/Tenant/Hr/Intranet`. `Sas_T_IntranetWidget`
+(Developer Kit › Intranet Widgets) Saas'ta kalır; kayıtlarının `PermissionName` değerleri `App.Hr.Intranet.*.Widget`'tır.
İK yetkilerinin `Modules` değeri `Sas|Hr`'dir: host (`Sas`) her zaman görür, kiracı yalnızca modül
listesinde `Hr` varsa görür (modül listesi boş kiracıda süzme yoktur — `MenuAppService`,
@@ -1367,6 +1370,11 @@ listesinde `Hr` varsa görür (modül listesi boş kiracıda süzme yoktur — `
| **Definitions › Department** | `App.Hr.Department` | `Hr_T_Department` | tenant | **Şube bazlı** departman ağacı: ilk sütun `BranchId` (Şube Adı; `LookupQueryValues.TenantBranchValues`, zorunlu), `ParentId` lookup'ı seçili şubenin departmanlarına süzülür (`BranchDepartmentValues`, cascade `BranchId`). `ParentId` ile **ağaç (TreeList) düzeninin** referansı; personel/onay ekranlarının departman lookup'ı. Tekil indeks `TenantId + BranchId + Name`. Seed `data/App.Hr.Department.json`. |
| **Definitions › Job Position** | `App.Hr.JobPosition` | `Hr_T_JobPosition` | tenant | Ünvan ağacı. Form sırası `BranchId` → `DepartmentId` (şubeye göre süzülür) → `Name` → `ParentId` (departmana göre süzülür); şube değişince departman ve üst görev temizlenir (`CascadeEmptyFields`). **İki kademeli cascade** örneği. Seed `data/App.Hr.JobPosition.json`. |
| **Org Chart** | `App.Hr.OrgChart` · `/admin/organization` | `Hr_T_Department` · `Hr_T_JobPosition` | tenant | Departman/ünvan verisinin organizasyon şeması görünümü (özel React sayfası `hr/OrgChart`, veri `api/app/org-chart`). Menü ve route aynı yetkiyi ister. |
+| **Intranet › Announcement** | `App.Hr.Intranet.Announcement` (alt formlar Like/Comment) | `Hr_T_Announcement` · `Hr_T_AnnouncementLike` · `Hr_T_AnnouncementComment` | tenant | Duyuru + beğeni + yorum: **ana kayıt / alt etkileşim** kalıbının hazır örneği. |
+| **Intranet › Survey** | `App.Hr.Intranet.Survey` (alt form Question → Option; Response → Answer) | `Hr_T_Survey` · `Hr_T_SurveyQuestion` · `Hr_T_SurveyQuestionOption` · `Hr_T_SurveyResponse` · `Hr_T_SurveyAnswer` | tenant | Anket motoru; soru–seçenek–yanıt zinciri **iki seviyeli alt form** ihtiyacının referansıdır. |
+| **Intranet › Social Post** | `App.Hr.Intranet.SocialPost` | `Hr_T_SocialPost` · `Hr_T_SocialComment` · `Hr_T_SocialLike` (+ `SocialPollOption`, `SocialMedia`, `SocialLocation`) | tenant | Kurum içi akış; `IsLiked`, `IsOwnPost` gibi hesaplanmış kolonların view içinde üretilmesine örnek. Alt formlar: `App.Hr.Intranet.SocialMedia`, `SocialComment`, `SocialLike` (`Id` → `SocialPostId`); anket seçenekleri (`App.Hr.Intranet.SocialPollOption`) medyaya bağlı olduğu için `SocialMedia` ekranının alt formudur (`Id` → `SocialMediaId`). |
+| **Intranet › Event Type / Category / Event** | `App.Hr.Intranet.Events.EventType` · `.EventCategory` · `.Event` | `Hr_T_EventType` · `Hr_T_EventCategory` · `Hr_T_Event` · `Hr_T_EventPhoto` · `Hr_T_EventLike` · `Hr_T_EventComment` | tenant | Etkinlik yönetimi; foto ve katılımcı sayacı olan kayıt kalıbı. `EventLike`/`EventComment` alt formdur, `EventPhoto` menüde yer almaz; yetkileri `App.Hr.Intranet.Events.Event` altındadır. `Hr_T_EventPhoto` tablosu `sql/object/Hr_T_EventPhoto.sql` ile oluşturulur. |
+| **Intranet › Documents** | `App.Hr.Intranet.Document` · `/admin/intranet-documents` | Dosya yöneticisi (`intranet` / `intranet\|_passive` klasörleri) | tenant | Kurum içi doküman paylaşımı — aktif/pasif klasör, yükleme, taşıma, toplu silme. Doküman listesi isteği yeni tablo gerektirmez. |
**Şube bilgisi:** `Department.BranchId` ve `JobPosition.BranchId` (`Guid`, **zorunlu** — kolon `NOT NULL`, formda
zorunlu alan; değer `Sas_T_Branch.Id`) şubeyi taşır; ekranlar `IsBranch = false`'tur (satırlar kullanıcının şube atamasına göre süzülmez, şube
@@ -1410,7 +1418,7 @@ görünürlük `checkPermission` ile bileşen içinde kurulur (`lowcode` §7.5).
| `/admin/reports/:report/{view,design}/:id?/:listFormCode?` | `DevexpressReportViewer` · `DevexpressReportDesigner` | — |
| `/admin/settings` | `settings/Settings` | `App.Setting` |
| `/admin/files` | `admin/files/FileManager` | `App.Files` |
-| `/admin/intranet-documents` | `intranet/documents/IntranetDocuments` | `App.Intranet.Document` |
+| `/admin/intranet-documents` | `intranet/documents/IntranetDocuments` | `App.Hr.Intranet.Document` |
| `/admin/ous` · `/admin/organization` | `organization-unit/OrganizationUnits` · `hr/OrgChart` | `Abp.Identity.OrganizationUnits` · `App.Hr.OrgChart` (menü ile aynı — §12.4) |
| `/admin/forum` | `forum/Forum` | `App.ForumManagement.Publish` |
| `/admin/videoroom/{dashboard,list,room/:id}` | `admin/videoroom/{Dashboard,RoomList,RoomDetail}` | `App.Videoroom{,.List,.Detail}` |
diff --git a/.github/instructions/lowcode.instructions.md b/.github/instructions/lowcode.instructions.md
index a42bff65..a6e1e999 100644
--- a/.github/instructions/lowcode.instructions.md
+++ b/.github/instructions/lowcode.instructions.md
@@ -746,11 +746,20 @@ Kısa ve karar odaklı yaz; talebi tekrar anlatma.
(`dxTextArea`, `dxHtmlEditor`) de `nvarchar(MAX)`'tir.
**Kullanıcı (çalışan) bilgisi `AbpUsers`'tan okunur.** Kullanıcıya ait her bilgi kullanıcı
kaydında durur: `IdentityNumber` (TC), `BirthDate`, `BirthPlace`, `Gender` (`Male`/`Female`),
- `HomeAddress`, `EducationLevel`, `GraduationSchool`, `BloodType`, sağlık kartı alanları
+ `HomeAddress`, `EducationLevel`, `BloodType`, sağlık kartı alanları
(`{Mother,Father,Sibling,Child}HealthStatus`/`…HealthNote`, `ChronicDisease`, `…Vaccination`, `Lab*`, `Exam*`,
`Complaint*`, `Diagnosis*`, anamnez soruları, `FitForWork*`, `ShiftWorkFit`, `NightWorkFit`, `*DoctorId`), `Nationality`, `MaritalStatus`,
`SskNo`, `HireDate`, `DepartmentId`, `JobPositionId`, `WorkHour`, kimlik kartı alanları
- (`SerialNo`, `Province`, `District`, `FatherName`, `MotherName`…). Kullanıcı seçen bir lookup bu
+ (`SerialNo`, `Province`, `District`, `FatherName`, `MotherName`…), yabancı uyruk alanları
+ (`PassportNo`, `PassportExpiryDate`, `WorkPermitNo`, `WorkPermitEndDate`), askerlik ve engellilik
+ (`MilitaryStatus` — `Done`/`Exempt`/`Postponed`/`NotDone`, `MilitaryPostponeEndDate`, `IsDisabled`,
+ `DisabilityRate`), çalışma bilgisi (`RegistrationNo` sicil no, `EmploymentType` — `FullTime`/`PartTime`,
+ `ContractType` — `Indefinite`/`Definite`, `ContractEndDate`, `ProbationEndDate`, `SeniorityStartDate`,
+ `TerminationDate`, `TerminationReasonId` → `Sas_H_TerminationReason`, `ShiftId` → `Hr_T_Shift`,
+ `PdksCardNo`, `DrivingLicense*`). Birden çok satırlı bilgiler kullanıcının alt tablolarındadır:
+ eğitim geçmişi `Adm_T_UserEducation` (tek `GraduationSchool` alanı kaldırıldı), yabancı dil
+ `Adm_T_UserLanguage`, yetenek `Adm_T_UserSkill`, yeterlilik belgesi `Adm_T_UserCertificate`, eş/çocuk
+ `Adm_T_UserFamilyMember`, acil durum kişisi `Adm_T_UserEmergencyContact`, yan hak `Adm_T_UserBenefit`. Kullanıcı seçen bir lookup bu
kolonları doğrudan `u.` ile seçer; başka bir ekranın tablosundaki son kayıttan (`OUTER APPLY
(SELECT TOP 1 …)`, `COALESCE(önceki kayıt…)`) türetmez — o tablolar kullanıcıyı değil kendi
kaydını tutar. Ekranın tablosu bu bilginin kopyasını tutacaksa kolon **aynı ad, aynı tip/boy ve
@@ -885,7 +894,7 @@ Query'de üretilmez (kaynak tablo adı değildir), gerekiyorsa elle yazılır.
`required` `numeric` `range` `stringLength` `custom` `compare` `pattern` `email` `async` (§4.3.6)
**`WorkerType`** (`WorkerTypeEnum`) — `1` MailQueueWorker · `2` SqlWorker ·
-`3` NotificationWorker · `4` SessionCleanupWorker · `5` BackupWorker (§9.10)
+`3` NotificationWorker · `4` SessionCleanupWorker · `5` BackupWorker · `6` ProbationReminderWorker (§9.10)
**`Scope`** (`WorkerScopeEnum`) — `1` Host · `2` Tenant · `3` All (önce host, sonra her kiracı) (§9.10)
@@ -4159,7 +4168,7 @@ Ekranlar: `App.BackgroundWorkers.RecurringJobs` (tanımlar) ve `App.BackgroundWo
| --- | --- |
| `Name` | Benzersiz ad; dağıtık kilit (`DistributedLock`) bu adla alınır — aynı iş iki sunucuda aynı anda çalışmaz |
| `Cron` | Cron ifadesi (`*/5 * * * *`, `0 3 * * *`) |
-| `WorkerType` | `1` MailQueueWorker · `2` SqlWorker · `3` NotificationWorker · `4` SessionCleanupWorker · `5` BackupWorker |
+| `WorkerType` | `1` MailQueueWorker · `2` SqlWorker · `3` NotificationWorker · `4` SessionCleanupWorker · `5` BackupWorker · `6` ProbationReminderWorker |
| `Scope` | `1` Host (varsayılan) · `2` Tenant · `3` All — aşağıda **Kapsam** |
| `DataSourceCode` | `BeforeSp` / `AfterSp` hangi bağlantıda çalışacak |
| `BeforeSp` / `AfterSp` | İş gövdesinden **önce ve sonra** çağrılan stored procedure adları |
@@ -4218,6 +4227,7 @@ kurulur, kod yazılmaz:
| Zamanlanmış e-posta (rapor maili, hatırlatma) | `WorkerType: 1` + `Options` (Mail şablonu + `TableName`) + kuyruğa satır yazan `BeforeSp` |
| Olay bazlı bildirimlerin dağıtımı | `WorkerType: 3` + `Scope: 3` (kuyruğu host ve her kiracı için boşaltır) + Notification Type/Rule kayıtları (§9.11) |
| Oturum temizliği / yedekleme | `WorkerType: 4` / `5` (+ `App:BackupPath`) |
+| Deneme süresi bitiş hatırlatması | `WorkerType: 6` + `Scope: 3`; bildirim tipi `DenemeSuresiBitiyor`, alıcı/kanal tipin kurallarından |
**Zamanlanmış e-posta (`MailQueueWorker`)** — "her sabah geciken siparişler listesi şu kişilere
mail atılsın" isteğinin yolu budur. Worker'ın `Options` alanı bir `MailQueueWorkerOptions`
@@ -4355,7 +4365,7 @@ kullanılacağı** `lowcode-reference.instructions.md` §12'dedir.
| "Belirli saatlerde/IP'lerden girilsin" | Work Hours · IP Restrictions | `/admin/list/App.Restrictions.WorkHour` |
| "Dosya yükleme/yönetme" | File Manager | `/admin/files` |
| "Global aramada çıksın" | Global Search kayıtları (`System`, `Group`, `Term`, `Weight`, `Url`) | `/admin/list/App.Definitions.GlobalSearch` |
-| "Duyuru, anket, sosyal akış, etkinlik" | Intranet ekranları | `/admin/list/App.Intranet.*` |
+| "Duyuru, anket, sosyal akış, etkinlik" | İK › Intranet ekranları | `/admin/list/App.Hr.Intranet.*` |
| "Para birimi, ülke/il/ilçe, birim, sektör…" | Definitions ekranları | `/admin/list/App.Definitions.*` |
| "Departman, pozisyon/ünvan, yetkinlik, organizasyon şeması" | İK › Definitions · Org Chart (şube bazlı departman/pozisyon) | `/admin/list/App.Hr.*` · `/admin/organization` |
| "Menü düzeni" | Menu Manager (§9.7) | `/admin/menuManager` |
diff --git a/README.md b/README.md
index 78243eb6..42d910ff 100644
--- a/README.md
+++ b/README.md
@@ -933,8 +933,8 @@ kimlikle kurulur (`PlatformConsts.Branches.BranchIdDefaultValue`) ve
**Yetki kodları** `PlatformConsts.AppCodes` içinde merkezî olarak tanımlıdır ve
`configs/seeds/host/data/Abp.Identity.Permissions.json` ile seed edilir (gruplar:
`Abp.Identity.PermissionGroups.json` — `App.Saas` (1), `App.Administration` (2), `App.Hr` (3)).
-Ana yetki kökleri: `App.Saas`, `App.Branches`, `App.Intranet.*`,
-`App.Definitions.*`, `App.Hr.*`, `App.Restrictions.*`, `App.Languages.*`, `App.Listforms.*`,
+Ana yetki kökleri: `App.Saas`, `App.Branches`,
+`App.Definitions.*`, `App.Hr.*` (Intranet dahil, `App.Hr.Intranet.*`), `App.Restrictions.*`, `App.Languages.*`, `App.Listforms.*`,
`App.Notifications.*`, `App.BackgroundWorkers.*`, `App.Menus.*`, `App.DeveloperKit.*`,
`App.SqlQueryManager.*`,
`App.Orders.*`, `App.BlogManagement.*`, `App.IdentityManagement.*`, `App.Reports.*`,
@@ -1699,6 +1699,7 @@ ekranlarından yapılır; yetkiler `App.BackgroundWorkers.RecurringJobs` ve `.Jo
| `NotificationWorker` | Bildirim kurallarını değerlendirir ve gönderir. |
| `SessionCleanupWorker` | Süresi dolmuş oturumları temizler. |
| `BackupWorker` | Veritabanı yedeği alır ve eski yedekleri temizler. |
+| `ProbationReminderWorker` | Deneme süresinin bitmesine 15 gün kalan çalışanlar için `DenemeSuresiBitiyor` bildirim tipinin kurallarını işletir (`Scope: All`, her gün 08:00). |
**Kapsam (`Scope`).** İş kaydı her zaman host tablosundadır (`Sas_H_BackgroundWorker`); işin
**gövdesinin** hangi kiracı bağlamında kaç kez çalışacağını `Scope` belirler
@@ -2031,7 +2032,7 @@ configs/seeds/
│ │ # App.Menus.{Routes,Module,Menu}.json — route/modül/menü ağacı
│ │ # Abp.Identity.Permission{Groups,s}.json — yetki tanımları
│ │ # App.Definitions.{CountryGroup,Country,City,District}.json — adres zinciri
-│ │ # App.Definitions.{Currency,ContactTitle,AiBot}.json — para birimi, hitap, AI bot
+│ │ # App.Definitions.{Currency,ContactTitle,AiBot,TerminationReason}.json — para birimi, hitap, AI bot, SGK çıkış kodu
│ │ # App.Hr.{SkillType,SkillLevel,Skill}.json — İK yetkinlik tanımları
│ │ # App.Hr.{Department,JobPosition}.json — İK departman → pozisyon (BranchId ile şubeye bağlı)
│ │ # App.Notifications.Notification{Templates,Types,Rules}.json — bildirim şablonu, tipi → kuralı
diff --git a/api/src/Sozsoft.Platform.Application.Contracts/Identity/Dto/UserFinancialDto.cs b/api/src/Sozsoft.Platform.Application.Contracts/Identity/Dto/UserFinancialDto.cs
new file mode 100644
index 00000000..7d58d646
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Application.Contracts/Identity/Dto/UserFinancialDto.cs
@@ -0,0 +1,17 @@
+using System;
+
+namespace Sozsoft.Platform.Identity.Dto;
+
+///
+/// Kullanicinin banka ve ucret bilgisi. intranet listelerine de
+/// aktigi icin bu alanlar orada tasinmaz; kullanici detayinin ayri ucundan okunup yazilir.
+///
+public class UserFinancialDto
+{
+ public Guid Id { get; set; }
+ public string BankName { get; set; }
+ public string Iban { get; set; }
+ public string SalaryType { get; set; }
+ public decimal? GrossSalary { get; set; }
+ public string SalaryCurrency { get; set; }
+}
diff --git a/api/src/Sozsoft.Platform.Application.Contracts/Identity/Dto/UserInfoViewModel.cs b/api/src/Sozsoft.Platform.Application.Contracts/Identity/Dto/UserInfoViewModel.cs
index fbe75bd7..5cf803c5 100644
--- a/api/src/Sozsoft.Platform.Application.Contracts/Identity/Dto/UserInfoViewModel.cs
+++ b/api/src/Sozsoft.Platform.Application.Contracts/Identity/Dto/UserInfoViewModel.cs
@@ -67,7 +67,6 @@ public class UserInfoViewModel : ExtensibleObject
public DateTime? MarriageDate { get; set; }
public string HomeAddress { get; set; }
public string EducationLevel { get; set; }
- public string GraduationSchool { get; set; }
public string BloodType { get; set; }
public string MotherHealthStatus { get; set; }
public string MotherHealthNote { get; set; }
@@ -145,4 +144,30 @@ public class UserInfoViewModel : ExtensibleObject
public bool? ShiftWorkFit { get; set; }
public bool? NightWorkFit { get; set; }
public Guid? ShiftNightDoctorId { get; set; }
+ public string SecondaryEmail { get; set; }
+ public string SecondaryPhoneNumber { get; set; }
+ public string MilitaryStatus { get; set; }
+ public DateTime? MilitaryPostponeEndDate { get; set; }
+ public bool IsDisabled { get; set; }
+ public int? DisabilityRate { get; set; }
+ public string DisabilityReport { get; set; }
+ public string DisabilityReportFileName { get; set; }
+ public string PassportNo { get; set; }
+ public DateTime? PassportExpiryDate { get; set; }
+ public string WorkPermitNo { get; set; }
+ public DateTime? WorkPermitEndDate { get; set; }
+ public string RegistrationNo { get; set; }
+ public string EmploymentType { get; set; }
+ public string ContractType { get; set; }
+ public DateTime? ContractEndDate { get; set; }
+ public DateTime? ProbationEndDate { get; set; }
+ public DateTime? SeniorityStartDate { get; set; }
+ public Guid? TerminationReasonId { get; set; }
+ public string TerminationNote { get; set; }
+ public Guid? ShiftId { get; set; }
+ public string PdksCardNo { get; set; }
+ public string DrivingLicenseClass { get; set; }
+ public string DrivingLicenseNo { get; set; }
+ public DateTime? DrivingLicenseIssueDate { get; set; }
+ public DateTime? DrivingLicenseExpiryDate { get; set; }
}
diff --git a/api/src/Sozsoft.Platform.Application.Contracts/LookUpQueryValues.cs b/api/src/Sozsoft.Platform.Application.Contracts/LookUpQueryValues.cs
index 99022508..7ed0eead 100644
--- a/api/src/Sozsoft.Platform.Application.Contracts/LookUpQueryValues.cs
+++ b/api/src/Sozsoft.Platform.Application.Contracts/LookUpQueryValues.cs
@@ -368,6 +368,81 @@ public static class LookupQueryValues
$"WHERE \"IsDeleted\" = 'false' " +
$"ORDER BY \"QuestionText\";";
+ /// Hr_T_Shift wizard ile uretilen bir tablodur (entity'si yoktur); kullanici bir vardiyaya baglanir.
+ public static string TenantShiftValues =
+ $"SELECT " +
+ $"\"Id\" AS \"Key\", " +
+ $"\"Name\" + ' (' + \"StartTime\" + '-' + \"EndTime\" + ')' AS \"Name\" " +
+ $"FROM \"Hr_T_Shift\" " +
+ $"WHERE " +
+ $"\"IsDeleted\" = 'false' " +
+ $"AND \"IsActive\" = 'true' " +
+ $"AND \"TenantId\" = '@TENANTID' " +
+ $"ORDER BY \"StartTime\";";
+
+ /// SGK cikis kodlari host tanimidir; kiraci filtresi yoktur, kod adla birlikte gosterilir.
+ public static string TerminationReasonValues =
+ $"SELECT " +
+ $"\"Id\" AS \"Key\", " +
+ $"\"Code\" + ' - ' + \"Name\" AS \"Name\" " +
+ $"FROM \"{FullNameTable(TableNameEnum.TerminationReason)}\" " +
+ $"WHERE " +
+ $"\"IsDeleted\" = 'false' " +
+ $"AND \"IsActive\" = 'true' " +
+ $"ORDER BY \"Code\";";
+
+ /// Hr_T_Certificate wizard ile uretilen bir tablodur; kullanicinin belgesi buradaki tanima baglanir.
+ public static string TenantCertificateValues =
+ $"SELECT " +
+ $"\"Id\" AS \"Key\", " +
+ $"\"Name\" AS \"Name\" " +
+ $"FROM \"Hr_T_Certificate\" " +
+ $"WHERE " +
+ $"\"IsDeleted\" = 'false' " +
+ $"AND \"IsActive\" = 'true' " +
+ $"AND \"TenantId\" = '@TENANTID' " +
+ $"ORDER BY \"Name\";";
+
+ // Diller de bir yetenek tipidir (Languages); dil listesi o tipe, yetenek listesi diger tiplere suzulur.
+ private const string LanguageSkillTypeName = "Languages";
+
+ public static string TenantLanguageSkillValues =
+ $"SELECT " +
+ $"s.\"Id\" AS \"Key\", " +
+ $"s.\"Name\" AS \"Name\" " +
+ $"FROM \"{FullNameTable(TableNameEnum.Skill)}\" s " +
+ $"INNER JOIN \"{FullNameTable(TableNameEnum.SkillType)}\" t ON t.\"Id\" = s.\"SkillTypeId\" " +
+ $"WHERE " +
+ $"s.\"IsDeleted\" = 'false' " +
+ $"AND t.\"Name\" = '{LanguageSkillTypeName}' " +
+ $"AND s.\"TenantId\" = '@TENANTID' " +
+ $"ORDER BY s.\"Name\";";
+
+ /// Secilen dilin tipine ait seviyeler (A1-C2); @param0 dilin SkillId'sidir.
+ public static string TenantSkillLevelBySkillValues =
+ $"SELECT " +
+ $"l.\"Id\" AS \"Key\", " +
+ $"l.\"Name\" AS \"Name\" " +
+ $"FROM \"{FullNameTable(TableNameEnum.SkillLevel)}\" l " +
+ $"INNER JOIN \"{FullNameTable(TableNameEnum.Skill)}\" s ON s.\"SkillTypeId\" = l.\"SkillTypeId\" " +
+ $"WHERE " +
+ $"(s.\"Id\" = @param0 OR @param0 IS NULL) " +
+ $"AND l.\"IsDeleted\" = 'false' " +
+ $"AND l.\"TenantId\" = '@TENANTID' " +
+ $"ORDER BY l.\"Progress\";";
+
+ public static string TenantNonLanguageSkillValues =
+ $"SELECT " +
+ $"s.\"Id\" AS \"Key\", " +
+ $"t.\"Name\" + ' - ' + s.\"Name\" AS \"Name\" " +
+ $"FROM \"{FullNameTable(TableNameEnum.Skill)}\" s " +
+ $"INNER JOIN \"{FullNameTable(TableNameEnum.SkillType)}\" t ON t.\"Id\" = s.\"SkillTypeId\" " +
+ $"WHERE " +
+ $"s.\"IsDeleted\" = 'false' " +
+ $"AND t.\"Name\" <> '{LanguageSkillTypeName}' " +
+ $"AND s.\"TenantId\" = '@TENANTID' " +
+ $"ORDER BY t.\"Name\", s.\"Name\";";
+
public static string TechnicalSkillsValues =
$"SELECT " +
$"\"Name\" AS \"Key\", " +
diff --git a/api/src/Sozsoft.Platform.Application/Identity/IdentityMappers.cs b/api/src/Sozsoft.Platform.Application/Identity/IdentityMappers.cs
index 7c688959..ae4adf8b 100644
--- a/api/src/Sozsoft.Platform.Application/Identity/IdentityMappers.cs
+++ b/api/src/Sozsoft.Platform.Application/Identity/IdentityMappers.cs
@@ -66,7 +66,6 @@ public partial class IdentityUserToUserInfoViewModelMapper : MapperBase UserInfo.HireDate.Value.AddMonths(4)))
+ {
+ throw new UserFriendlyException(L["Abp.Identity.User.ProbationPeriodInvalid"]);
+ }
+
var user = await UserManager.GetByIdAsync(UserInfo.Id);
user.Name = UserInfo.Name;
@@ -287,7 +298,6 @@ public class PlatformIdentityAppService : ApplicationService
user.SetMarriageDate(UserInfo.MarriageDate);
user.SetHomeAddress(UserInfo.HomeAddress);
user.SetEducationLevel(UserInfo.EducationLevel);
- user.SetGraduationSchool(UserInfo.GraduationSchool);
user.SetBloodType(UserInfo.BloodType);
user.SetMotherHealthStatus(UserInfo.MotherHealthStatus);
user.SetMotherHealthNote(UserInfo.MotherHealthNote);
@@ -365,12 +375,68 @@ public class PlatformIdentityAppService : ApplicationService
user.SetShiftWorkFit(UserInfo.ShiftWorkFit);
user.SetNightWorkFit(UserInfo.NightWorkFit);
user.SetShiftNightDoctorId(UserInfo.ShiftNightDoctorId);
+ user.SetSecondaryEmail(UserInfo.SecondaryEmail);
+ user.SetSecondaryPhoneNumber(UserInfo.SecondaryPhoneNumber);
+ user.SetMilitaryStatus(UserInfo.MilitaryStatus);
+ user.SetMilitaryPostponeEndDate(UserInfo.MilitaryPostponeEndDate);
+ user.SetIsDisabled(UserInfo.IsDisabled);
+ user.SetDisabilityRate(UserInfo.DisabilityRate);
+ user.SetDisabilityReport(UserInfo.DisabilityReport);
+ user.SetDisabilityReportFileName(UserInfo.DisabilityReportFileName);
+ user.SetPassportNo(UserInfo.PassportNo);
+ user.SetPassportExpiryDate(UserInfo.PassportExpiryDate);
+ user.SetWorkPermitNo(UserInfo.WorkPermitNo);
+ user.SetWorkPermitEndDate(UserInfo.WorkPermitEndDate);
+ user.SetRegistrationNo(UserInfo.RegistrationNo);
+ user.SetEmploymentType(UserInfo.EmploymentType);
+ user.SetContractType(UserInfo.ContractType);
+ user.SetContractEndDate(UserInfo.ContractEndDate);
+ user.SetProbationEndDate(UserInfo.ProbationEndDate);
+ user.SetSeniorityStartDate(UserInfo.SeniorityStartDate);
+ user.SetTerminationReasonId(UserInfo.TerminationReasonId);
+ user.SetTerminationNote(UserInfo.TerminationNote);
+ user.SetShiftId(UserInfo.ShiftId);
+ user.SetPdksCardNo(UserInfo.PdksCardNo);
+ user.SetDrivingLicenseClass(UserInfo.DrivingLicenseClass);
+ user.SetDrivingLicenseNo(UserInfo.DrivingLicenseNo);
+ user.SetDrivingLicenseIssueDate(UserInfo.DrivingLicenseIssueDate);
+ user.SetDrivingLicenseExpiryDate(UserInfo.DrivingLicenseExpiryDate);
user.SetAvatar(UserInfo.Avatar);
user.SetUserType(UserInfo.UserType);
(await UserManager.UpdateAsync(user)).CheckErrors();
}
+ [Authorize(IdentityPermissions.Users.Update)]
+ public async Task GetFinancialAsync(Guid id)
+ {
+ var user = await UserManager.GetByIdAsync(id);
+
+ return new UserFinancialDto
+ {
+ Id = user.Id,
+ BankName = user.GetBankName(),
+ Iban = user.GetIban(),
+ SalaryType = user.GetSalaryType(),
+ GrossSalary = user.GetGrossSalary(),
+ SalaryCurrency = user.GetSalaryCurrency(),
+ };
+ }
+
+ [Authorize(IdentityPermissions.Users.Update)]
+ public async Task UpdateFinancialAsync(UserFinancialDto input)
+ {
+ var user = await UserManager.GetByIdAsync(input.Id);
+
+ user.SetBankName(input.BankName);
+ user.SetIban(input.Iban?.Replace(" ", string.Empty).ToUpperInvariant());
+ user.SetSalaryType(input.SalaryType);
+ user.SetGrossSalary(input.GrossSalary);
+ user.SetSalaryCurrency(input.SalaryCurrency);
+
+ (await UserManager.UpdateAsync(user)).CheckErrors();
+ }
+
[Authorize(IdentityPermissions.Users.Update)]
public async Task UpdateAvatarAsync([FromForm] UserAvatarUpdateInput input)
{
diff --git a/api/src/Sozsoft.Platform.Application/Identity/UserInfoViewModelMappingExtensions.cs b/api/src/Sozsoft.Platform.Application/Identity/UserInfoViewModelMappingExtensions.cs
index a4e543e1..75a9673c 100644
--- a/api/src/Sozsoft.Platform.Application/Identity/UserInfoViewModelMappingExtensions.cs
+++ b/api/src/Sozsoft.Platform.Application/Identity/UserInfoViewModelMappingExtensions.cs
@@ -43,7 +43,6 @@ public static class UserInfoViewModelMappingExtensions
userInfoViewModel.MarriageDate = user.GetMarriageDate();
userInfoViewModel.HomeAddress = user.GetHomeAddress();
userInfoViewModel.EducationLevel = user.GetEducationLevel();
- userInfoViewModel.GraduationSchool = user.GetGraduationSchool();
userInfoViewModel.BloodType = user.GetBloodType();
userInfoViewModel.MotherHealthStatus = user.GetMotherHealthStatus();
userInfoViewModel.MotherHealthNote = user.GetMotherHealthNote();
@@ -121,6 +120,31 @@ public static class UserInfoViewModelMappingExtensions
userInfoViewModel.ShiftWorkFit = user.GetShiftWorkFit();
userInfoViewModel.NightWorkFit = user.GetNightWorkFit();
userInfoViewModel.ShiftNightDoctorId = user.GetShiftNightDoctorId();
+ userInfoViewModel.SecondaryEmail = user.GetSecondaryEmail();
+ userInfoViewModel.SecondaryPhoneNumber = user.GetSecondaryPhoneNumber();
+ userInfoViewModel.MilitaryStatus = user.GetMilitaryStatus();
+ userInfoViewModel.MilitaryPostponeEndDate = user.GetMilitaryPostponeEndDate();
+ userInfoViewModel.IsDisabled = user.GetIsDisabled();
+ userInfoViewModel.DisabilityRate = user.GetDisabilityRate();
+ userInfoViewModel.DisabilityReportFileName = user.GetDisabilityReportFileName();
+ userInfoViewModel.PassportNo = user.GetPassportNo();
+ userInfoViewModel.PassportExpiryDate = user.GetPassportExpiryDate();
+ userInfoViewModel.WorkPermitNo = user.GetWorkPermitNo();
+ userInfoViewModel.WorkPermitEndDate = user.GetWorkPermitEndDate();
+ userInfoViewModel.RegistrationNo = user.GetRegistrationNo();
+ userInfoViewModel.EmploymentType = user.GetEmploymentType();
+ userInfoViewModel.ContractType = user.GetContractType();
+ userInfoViewModel.ContractEndDate = user.GetContractEndDate();
+ userInfoViewModel.ProbationEndDate = user.GetProbationEndDate();
+ userInfoViewModel.SeniorityStartDate = user.GetSeniorityStartDate();
+ userInfoViewModel.TerminationReasonId = user.GetTerminationReasonId();
+ userInfoViewModel.TerminationNote = user.GetTerminationNote();
+ userInfoViewModel.ShiftId = user.GetShiftId();
+ userInfoViewModel.PdksCardNo = user.GetPdksCardNo();
+ userInfoViewModel.DrivingLicenseClass = user.GetDrivingLicenseClass();
+ userInfoViewModel.DrivingLicenseNo = user.GetDrivingLicenseNo();
+ userInfoViewModel.DrivingLicenseIssueDate = user.GetDrivingLicenseIssueDate();
+ userInfoViewModel.DrivingLicenseExpiryDate = user.GetDrivingLicenseExpiryDate();
return userInfoViewModel;
}
diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Administration.cs b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Administration.cs
index 136e1f04..e6800350 100644
--- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Administration.cs
+++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Administration.cs
@@ -1455,24 +1455,6 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep
PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
PivotSettingsJson = DefaultPivotSettingsJson
},
- new ListFormField {
- ListFormCode = listForm.ListFormCode,
- RoleId = null,
- UserId = null,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "GraduationSchool",
- CaptionName = "Abp.Account.GraduationSchool",
- Width = 0,
- ListOrderNo = 21,
- Visible = false,
- IsActive = true,
-
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
new ListFormField {
ListFormCode = listForm.ListFormCode,
RoleId = null,
@@ -2997,6 +2979,587 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep
PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
PivotSettingsJson = DefaultPivotSettingsJson
},
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "SecondaryEmail",
+ CaptionName = "Abp.Identity.User.UserInformation.SecondaryEmail",
+ Width = 0,
+ ListOrderNo = 106,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "SecondaryPhoneNumber",
+ CaptionName = "Abp.Identity.User.UserInformation.SecondaryPhoneNumber",
+ Width = 0,
+ ListOrderNo = 107,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "MilitaryStatus",
+ CaptionName = "Abp.Identity.User.UserInformation.MilitaryStatus",
+ Width = 0,
+ ListOrderNo = 108,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key="Done", Name="App.StaticLookup.MilitaryDone" },
+ new() { Key="Exempt", Name="App.StaticLookup.MilitaryExempt" },
+ new() { Key="Postponed", Name="App.StaticLookup.MilitaryPostponed" },
+ new() { Key="NotDone", Name="App.StaticLookup.MilitaryNotDone" },
+ }),
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "MilitaryPostponeEndDate",
+ CaptionName = "Abp.Identity.User.UserInformation.MilitaryPostponeEndDate",
+ Width = 0,
+ ListOrderNo = 109,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsDisabled",
+ CaptionName = "Abp.Identity.User.UserInformation.IsDisabled",
+ Width = 0,
+ ListOrderNo = 110,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "DisabilityRate",
+ CaptionName = "Abp.Identity.User.UserInformation.DisabilityRate",
+ Width = 0,
+ ListOrderNo = 111,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "DisabilityReportFileName",
+ CaptionName = "Abp.Identity.User.UserInformation.DisabilityReport",
+ Width = 0,
+ ListOrderNo = 112,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "PassportNo",
+ CaptionName = "Abp.Identity.User.UserInformation.PassportNo",
+ Width = 0,
+ ListOrderNo = 113,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "PassportExpiryDate",
+ CaptionName = "Abp.Identity.User.UserInformation.PassportExpiryDate",
+ Width = 0,
+ ListOrderNo = 114,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "WorkPermitNo",
+ CaptionName = "Abp.Identity.User.UserInformation.WorkPermitNo",
+ Width = 0,
+ ListOrderNo = 115,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "WorkPermitEndDate",
+ CaptionName = "Abp.Identity.User.UserInformation.WorkPermitEndDate",
+ Width = 0,
+ ListOrderNo = 116,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "RegistrationNo",
+ CaptionName = "Abp.Identity.User.UserInformation.RegistrationNo",
+ Width = 0,
+ ListOrderNo = 117,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "EmploymentType",
+ CaptionName = "Abp.Identity.User.UserInformation.EmploymentType",
+ Width = 0,
+ ListOrderNo = 118,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key="FullTime", Name="App.StaticLookup.FullTime" },
+ new() { Key="PartTime", Name="App.StaticLookup.PartTime" },
+ }),
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "ContractType",
+ CaptionName = "Abp.Identity.User.UserInformation.ContractType",
+ Width = 0,
+ ListOrderNo = 119,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key="Indefinite", Name="App.StaticLookup.Indefinite" },
+ new() { Key="Definite", Name="App.StaticLookup.Definite" },
+ }),
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "ContractEndDate",
+ CaptionName = "Abp.Identity.User.UserInformation.ContractEndDate",
+ Width = 0,
+ ListOrderNo = 120,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "ProbationEndDate",
+ CaptionName = "Abp.Identity.User.UserInformation.ProbationEndDate",
+ Width = 0,
+ ListOrderNo = 121,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "SeniorityStartDate",
+ CaptionName = "Abp.Identity.User.UserInformation.SeniorityStartDate",
+ Width = 0,
+ ListOrderNo = 122,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "TerminationReasonId",
+ CaptionName = "Abp.Identity.User.UserInformation.TerminationReasonId",
+ Width = 0,
+ ListOrderNo = 123,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.TerminationReasonValues,
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "TerminationNote",
+ CaptionName = "Abp.Identity.User.UserInformation.TerminationNote",
+ Width = 0,
+ ListOrderNo = 124,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "ShiftId",
+ CaptionName = "Abp.Identity.User.UserInformation.ShiftId",
+ Width = 0,
+ ListOrderNo = 125,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.TenantShiftValues,
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "PdksCardNo",
+ CaptionName = "Abp.Identity.User.UserInformation.PdksCardNo",
+ Width = 0,
+ ListOrderNo = 126,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "DrivingLicenseClass",
+ CaptionName = "Abp.Identity.User.UserInformation.DrivingLicenseClass",
+ Width = 0,
+ ListOrderNo = 127,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "DrivingLicenseNo",
+ CaptionName = "Abp.Identity.User.UserInformation.DrivingLicenseNo",
+ Width = 0,
+ ListOrderNo = 128,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "DrivingLicenseIssueDate",
+ CaptionName = "Abp.Identity.User.UserInformation.DrivingLicenseIssueDate",
+ Width = 0,
+ ListOrderNo = 129,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "DrivingLicenseExpiryDate",
+ CaptionName = "Abp.Identity.User.UserInformation.DrivingLicenseExpiryDate",
+ Width = 0,
+ ListOrderNo = 130,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "BankName",
+ CaptionName = "App.Listform.ListformField.BankName",
+ Width = 0,
+ ListOrderNo = 131,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Iban",
+ CaptionName = "App.Listform.ListformField.Iban",
+ Width = 0,
+ ListOrderNo = 132,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "SalaryType",
+ CaptionName = "Abp.Identity.User.UserInformation.SalaryType",
+ Width = 0,
+ ListOrderNo = 133,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key="Monthly", Name="App.StaticLookup.Monthly" },
+ new() { Key="Daily", Name="App.StaticLookup.Daily" },
+ new() { Key="Hourly", Name="App.StaticLookup.Hourly" },
+ }),
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Decimal,
+ FieldName = "GrossSalary",
+ CaptionName = "Abp.Identity.User.UserInformation.GrossSalary",
+ Width = 0,
+ ListOrderNo = 134,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new ListFormField {
+ ListFormCode = listForm.ListFormCode,
+ RoleId = null,
+ UserId = null,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "SalaryCurrency",
+ CaptionName = "App.Listform.ListformField.Currency",
+ Width = 0,
+ ListOrderNo = 135,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Currency), "Id", "Name"),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
]);
#endregion
}
@@ -5862,3108 +6425,6 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep
}
#endregion
- #region Announcement
- listFormName = AppCodes.Intranet.Announcement;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = true,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Announcement)),
- WidgetsJson = DefaultWidgetsJson(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Announcement)), listFormName, true,
- new("App.Widget.Active", "green", "FaBullhorn", "(\"ExpiryDate\" IS NULL OR \"ExpiryDate\" >= CURRENT_TIMESTAMP)"),
- new("App.Widget.Pinned", "purple", "FaThumbtack", "\"IsPinned\" = 'true'"),
- new("App.Widget.Expired", "gray", "FaCalendarTimes", "\"ExpiryDate\" < CURRENT_TIMESTAMP"),
- new("App.Widget.TotalViews", "blue", "FaEye", Value: "COALESCE(SUM(\"ViewCount\"), 0)")),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Announcement)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 750, 700, true, true, true, true, false, true),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- EditingFormJson = JsonSerializer.Serialize(new List()
- {
- new() {
- Order=1, ColCount=2, ColSpan=1, ItemType="group" },
- }),
- FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
- {
- new() { FieldName = "IsPinned", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value },
- new() { FieldName = "PublishDate", FieldDbType = DbType.Date, Value = "@NOW", CustomValueType = FieldCustomValueTypeEnum.CustomKey }
- }),
- SubFormsJson = JsonSerializer.Serialize(new List() {
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.AnnouncementLike,
- Code = AppCodes.Intranet.AnnouncementLike,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "AnnouncementId"
- }
- }
- },
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.AnnouncementComment,
- Code = AppCodes.Intranet.AnnouncementComment,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "AnnouncementId"
- }
- }
- }
- })
- }
- );
-
- #region Announcement Fields
- await _listFormFieldRepository.InsertManyAsync([
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- SortIndex = 0,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Title",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Title",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Excerpt",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Excerpt",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Content",
- EditGroupOrderNo = 1,
- EditOrderNo = 3,
- EditorType2 = EditorTypes.dxHtmlEditor,
- ColSpan = 2,
- EditorOptions = EditorOptions.Html(),
- CaptionName = "App.Listform.ListformField.Content",
- Width = 0,
- ListOrderNo = 4,
- Visible = false,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Category",
- EditGroupOrderNo = 1,
- EditOrderNo = 4,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.Category",
- Width = 0,
- ListOrderNo = 5,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto
- {
- DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
- DisplayExpr = "name",
- ValueExpr = "key",
- LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
- new () { Key= "general", Name= "Abp.Account.General" },
- new () { Key= "event", Name= "App.StaticLookup.Event" },
- new () { Key= "urgent", Name= "App.Listform.ListformField.IsUrgent" },
- new () { Key= "announcement", Name= "App.StaticLookup.Announcement" },
- }),
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 5,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 6,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.DateTime,
- FieldName = "PublishDate",
- EditGroupOrderNo = 1,
- EditOrderNo = 6,
- EditorType2 = EditorTypes.dxDateBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.PublishDate",
- Width = 0,
- ListOrderNo = 7,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.DateTime,
- FieldName = "ExpiryDate",
- EditGroupOrderNo = 1,
- EditOrderNo = 7,
- EditorType2 = EditorTypes.dxDateBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.ExpiryDate",
- Width = 0,
- ListOrderNo = 8,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "Likes",
- CaptionName = "App.Listform.ListformField.Likes",
- Width = 0,
- Alignment = "right",
- ListOrderNo = 11,
- Visible = false,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Boolean,
- FieldName = "IsPinned",
- EditGroupOrderNo = 1,
- EditOrderNo = 8,
- EditorType2 = EditorTypes.dxCheckBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.IsPinned",
- Width = 0,
- ListOrderNo = 9,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "ImageUrl",
- EditGroupOrderNo = 1,
- EditOrderNo = 9,
- EditorType2 = EditorTypes.dxImageUpload,
- ColSpan = 1,
- EditorOptions = EditorOptions.ImageUpload(),
- CaptionName = "App.Listform.ListformField.ImageUrl",
- Width = 0,
- ListOrderNo = 10,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- ]);
- #endregion
- }
- #endregion
-
- #region AnnouncementLike
- listFormName = AppCodes.Intranet.AnnouncementLike;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.AnnouncementLike)),
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.AnnouncementLike)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
- EditingFormJson = JsonSerializer.Serialize(new List() {
- new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- }
- );
-
- #region AnnouncementLike Fields
- await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "AnnouncementId",
- CaptionName = "App.Listform.ListformField.AnnouncementId",
- Width = 0,
- ListOrderNo = 3,
- Visible = false,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- });
- #endregion
- }
- #endregion
-
- #region AnnouncementComment
- listFormName = AppCodes.Intranet.AnnouncementComment;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.AnnouncementComment)),
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.AnnouncementComment)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 450, true, true, true, true, false),
- EditingFormJson = JsonSerializer.Serialize(new List() {
- new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- }
- );
-
- #region AnnouncementComment Fields
- await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Content",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxTextArea,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Content",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "AnnouncementId",
- CaptionName = "App.Listform.ListformField.AnnouncementId",
- Width = 0,
- ListOrderNo = 4,
- Visible = false,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- });
- #endregion
- }
- #endregion
-
- #region Survey
- listFormName = AppCodes.Intranet.Survey;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = true,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Survey)),
- WidgetsJson = DefaultWidgetsJson(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Survey)), listFormName, true,
- new("App.Widget.Active", "green", "FaCheckCircle", "\"Status\" = 'active'"),
- new("App.Widget.Passive", "gray", "FaTimesCircle", "\"Status\" = 'passive'"),
- new("App.Widget.TotalResponses", "purple", "FaPollH", Value: "COALESCE(SUM(\"Responses\"), 0)")),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Survey)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 500, true, true, true, true, false, true),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- EditingFormJson = JsonSerializer.Serialize(new List()
- {
- new() {
- Order=1, ColCount=3, ColSpan=1, ItemType="group" },
- }),
- FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
- {
- new() { FieldName = "IsAnonymous", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value },
- new() { FieldName = "Status", FieldDbType = DbType.String, Value = "active", CustomValueType = FieldCustomValueTypeEnum.Value }
- }),
- SubFormsJson = JsonSerializer.Serialize(new List() {
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.SurveyQuestion,
- Code = AppCodes.Intranet.SurveyQuestion,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "SurveyId"
- }
- }
- },
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.SurveyResponse,
- Code = AppCodes.Intranet.SurveyResponse,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "SurveyId"
- }
- }
- }
- })
- }, autoSave: true
- );
-
- #region Survey Fields
- await _listFormFieldRepository.InsertManyAsync([
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- SortIndex = 0,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Title",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 3,
- CaptionName = "App.Listform.ListformField.Title",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Date,
- FieldName = "Deadline",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxDateBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Deadline",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "Responses",
- CaptionName = "App.Listform.ListformField.Responses",
- Width = 0,
- ListOrderNo = 4,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Status",
- EditGroupOrderNo = 1,
- EditOrderNo = 3,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.Status",
- Width = 0,
- ListOrderNo = 5,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto
- {
- DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
- DisplayExpr = "name",
- ValueExpr = "key",
- LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
- new () { Key= "active", Name= "App.Listform.ListformField.IsActive" },
- new () { Key= "passive", Name= "App.Platform.Passive" },
- }),
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Description",
- EditGroupOrderNo = 1,
- EditOrderNo = 5,
- EditorType2 = EditorTypes.dxTextArea,
- ColSpan = 3,
- CaptionName = "App.Listform.ListformField.Description",
- Width = 0,
- ListOrderNo = 7,
- Visible = false,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Boolean,
- FieldName = "IsAnonymous",
- EditGroupOrderNo = 1,
- EditOrderNo = 4,
- EditorType2 = EditorTypes.dxCheckBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.IsAnonymous",
- Width = 0,
- ListOrderNo = 6,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- ], autoSave: true);
- #endregion
- }
- #endregion
-
- #region Survey Question
- listFormName = AppCodes.Intranet.SurveyQuestion;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = true,
- ShowNote = true,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyQuestion)),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SurveyQuestion)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 400, true, true, true, true, false, true),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- EditingFormJson = JsonSerializer.Serialize(new List()
- {
- new() {
- Order=1, ColCount=3, ColSpan=1, ItemType="group" },
- }),
- FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
- {
- new() { FieldName = "IsRequired", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value },
- }),
- SubFormsJson = JsonSerializer.Serialize(new List() {
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.SurveyQuestionOption,
- Code = AppCodes.Intranet.SurveyQuestionOption,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "QuestionId"
- }
- }
- }
- })
- }, autoSave: true
- );
-
- #region Survey Question Fields
- await _listFormFieldRepository.InsertManyAsync([
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- SortIndex = 0,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "Order",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxNumberBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Order",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "QuestionText",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 3,
- CaptionName = "App.Listform.ListformField.QuestionText",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Type",
- EditGroupOrderNo = 1,
- EditOrderNo = 3,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.Type",
- Width = 0,
- ListOrderNo = 4,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto
- {
- DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
- DisplayExpr = "name",
- ValueExpr = "key",
- LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
- new () { Key= "rating", Name= "App.StaticLookup.Rating" },
- new () { Key= "multiple-choice", Name= "App.StaticLookup.MultipleChoice" },
- new () { Key= "text", Name= "App.Listform.ListformField.Text" },
- new () { Key= "textarea", Name= "App.StaticLookup.Textarea" },
- new () { Key= "yes-no", Name= "App.StaticLookup.YesNo" },
- }),
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Boolean,
- FieldName = "IsRequired",
- EditGroupOrderNo = 1,
- EditOrderNo = 4,
- EditorType2 = EditorTypes.dxCheckBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Required",
- Width = 0,
- ListOrderNo = 5,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "SurveyId",
- CaptionName = "App.Listform.ListformField.SurveyId",
- Width = 0,
- ListOrderNo = 14,
- Visible = false,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- ], autoSave: true);
- #endregion
- }
- #endregion
-
- #region Survey Question Option
- listFormName = AppCodes.Intranet.SurveyQuestionOption;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = true,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyQuestionOption)),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SurveyQuestionOption)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 400, true, true, true, true, false, false),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- EditingFormJson = JsonSerializer.Serialize(new List()
- {
- new() {
- Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- }, autoSave: true
- );
-
- #region Survey Question Option Fields
- await _listFormFieldRepository.InsertManyAsync([
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- SortIndex = 0,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "Order",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxNumberBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Order",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Text",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Text",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "QuestionId",
- CaptionName = "App.Listform.ListformField.QuestionId",
- Width = 0,
- ListOrderNo = 4,
- Visible = false,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- ], autoSave: true);
- #endregion
- }
- #endregion
-
- #region Survey Response
- listFormName = AppCodes.Intranet.SurveyResponse;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = true,
- ShowNote = true,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyResponse)),
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SurveyResponse)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 400, true, true, true, true, false, true),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- EditingFormJson = JsonSerializer.Serialize(new List()
- {
- new() {
- Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- SubFormsJson = JsonSerializer.Serialize(new List() {
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.SurveyAnswer,
- Code = AppCodes.Intranet.SurveyAnswer,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "ResponseId"
- }
- }
- }
- }),
- }, autoSave: true
- );
-
- #region Survey Response Fields
- await _listFormFieldRepository.InsertManyAsync([
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- SortIndex = 0,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.DateTime,
- FieldName = "SubmissionTime",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxDateBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.SubmissionTime",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "SurveyId",
- CaptionName = "App.Listform.ListformField.SurveyId",
- Width = 0,
- ListOrderNo = 4,
- Visible = false,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- ], autoSave: true);
- #endregion
- }
-
- #endregion
-
- #region Survey Answer
- listFormName = AppCodes.Intranet.SurveyAnswer;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = true,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyAnswer)),
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SurveyAnswer)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 400, true, true, true, true, false, false),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- EditingFormJson = JsonSerializer.Serialize(new List()
- {
- new() {
- Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- }, autoSave: true
- );
-
- #region Survey Answer Fields
- await _listFormFieldRepository.InsertManyAsync([
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- SortIndex = 0,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "QuestionId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.QuestionId",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.SurveyQuestionValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Value",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Value",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "ResponseId",
- CaptionName = "App.Listform.ListformField.ResponseId",
- Width = 0,
- ListOrderNo = 4,
- Visible = false,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- ], autoSave: true);
- #endregion
- }
- #endregion
-
- #region Social Post
- listFormName = AppCodes.Intranet.SocialPost;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = true,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialPost)),
- WidgetsJson = DefaultWidgetsJson(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialPost)), listFormName, true,
- new("App.Widget.Total", "blue", "FaComments"),
- new("App.Widget.Today", "green", "FaCalendarDay", "CAST(\"CreationTime\" AS DATE) = CAST(CURRENT_TIMESTAMP AS DATE)"),
- new("App.Widget.TotalLikes", "pink", "FaHeart", Value: "COALESCE(SUM(\"LikeCount\"), 0)")),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialPost)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 600, true, true, true, true, false, true),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- EditingFormJson = JsonSerializer.Serialize(new List()
- {
- new() {
- Order=1, ColCount=2, ColSpan=1, ItemType="group" },
- }),
- FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
- {
- new() { FieldName = "LikeCount", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
- new() { FieldName = "IsLiked", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value },
- new() { FieldName = "IsOwnPost", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value }
- }),
- SubFormsJson = JsonSerializer.Serialize(new List() {
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.SocialComment,
- Code = AppCodes.Intranet.SocialComment,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "SocialPostId"
- }
- }
- },
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.SocialMedia,
- Code = AppCodes.Intranet.SocialMedia,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "SocialPostId"
- }
- }
- },
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.SocialLike,
- Code = AppCodes.Intranet.SocialLike,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "SocialPostId"
- }
- }
- }
- })
- }
- );
-
- #region Social Post Fields
- await _listFormFieldRepository.InsertManyAsync([
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- SortIndex = 0,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Content",
- EditGroupOrderNo = 1,
- EditOrderNo = 5,
- EditorType2 = EditorTypes.dxHtmlEditor,
- ColSpan = 2,
- EditorOptions = EditorOptions.Html(),
- CaptionName = "App.Listform.ListformField.Content",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "LikeCount",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxNumberBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.LikeCount",
- Width = 0,
- ListOrderNo = 4,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Boolean,
- FieldName = "IsLiked",
- EditGroupOrderNo = 1,
- EditOrderNo = 3,
- EditorType2 = EditorTypes.dxCheckBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.IsLiked",
- Width = 0,
- ListOrderNo = 5,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Boolean,
- FieldName = "IsOwnPost",
- EditGroupOrderNo = 1,
- EditOrderNo = 4,
- EditorType2 = EditorTypes.dxCheckBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.IsOwnPost",
- Width = 0,
- ListOrderNo = 6,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- ]);
- #endregion
- }
- #endregion
-
- #region SocialMedia
- listFormName = AppCodes.Intranet.SocialMedia;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = true,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialMedia)),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialMedia)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 550, true, true, true, true, false, true),
- EditingFormJson = JsonSerializer.Serialize(new List
- {
- new() { Order = 1, ColCount = 2, ColSpan = 1, ItemType = "group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
- new() { FieldName = "Type", FieldDbType = DbType.String, Value = "image", CustomValueType = FieldCustomValueTypeEnum.Value },
- new() { FieldName = "PollTotalVotes", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }
- }),
- SubFormsJson = JsonSerializer.Serialize(new List() {
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.SocialPollOption,
- Code = AppCodes.Intranet.SocialPollOption,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "SocialMediaId"
- }
- }
- }
- })
- });
-
- #region SocialMedia Fields
- await _listFormFieldRepository.InsertManyAsync([
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "SocialPostId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.SocialPost",
- Width = 0,
- ListOrderNo = 2,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.SocialPost), "Id", "Content"),
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Type",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.Type",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- LookupJson = JsonSerializer.Serialize(new LookupDto
- {
- DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
- DisplayExpr = "name",
- ValueExpr = "key",
- LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
- new () { Key = "image", Name = "App.StaticLookup.Image" },
- new () { Key = "video", Name = "App.StaticLookup.Video" },
- new () { Key = "poll", Name = "App.StaticLookup.Poll" },
- }),
- }),
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "PollQuestion",
- EditGroupOrderNo = 1,
- EditOrderNo = 3,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.PollQuestion",
- Width = 0,
- ListOrderNo = 4,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "PollTotalVotes",
- EditGroupOrderNo = 1,
- EditOrderNo = 4,
- EditorType2 = EditorTypes.dxNumberBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.PollTotalVotes",
- Alignment = "right",
- Width = 0,
- ListOrderNo = 5,
- Visible = true,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.DateTime,
- FieldName = "PollEndsAt",
- EditGroupOrderNo = 1,
- EditOrderNo = 5,
- EditorType2 = EditorTypes.dxDateBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.PollEndsAt",
- Width = 0,
- ListOrderNo = 6,
- Visible = true,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "PollUserVoteId",
- EditGroupOrderNo = 1,
- EditOrderNo = 6,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.PollUserVoteId",
- Width = 0,
- ListOrderNo = 7,
- Visible = false,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Urls",
- EditGroupOrderNo = 1,
- EditOrderNo = 7,
- EditorType2 = EditorTypes.dxTextArea,
- ColSpan = 2,
- CaptionName = "App.Listform.ListformField.Urls",
- Width = 0,
- ListOrderNo = 8,
- Visible = true,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- ]);
- #endregion
- }
- #endregion
-
- #region SocialPollOption
- listFormName = AppCodes.Intranet.SocialPollOption;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = true,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialPollOption)),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialPollOption)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 320, true, true, true, true, false),
- EditingFormJson = JsonSerializer.Serialize(new List
- {
- new() { Order = 1, ColCount = 1, ColSpan = 1, ItemType = "group" },
- }),
- InsertFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
- new() { FieldName = "CreationTime", FieldDbType = DbType.DateTimeOffset, Value = "@NOW", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
- new() { FieldName = "CreatorId", FieldDbType = DbType.Guid, Value = "@USERID", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
- new() { FieldName = "Id", FieldDbType = DbType.Guid, Value = "@NEWID", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
- new() { FieldName = "Votes", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }
- }),
- UpdateFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
- new() { FieldName = "LastModifierId", FieldDbType = DbType.Guid, Value = "@USERID", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
- new() { FieldName = "Id", FieldDbType = DbType.Guid, Value = "@ID", CustomValueType = FieldCustomValueTypeEnum.CustomKey }
- })
- });
-
- #region SocialPollOption Fields
- await _listFormFieldRepository.InsertManyAsync([
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "SocialMediaId",
- CaptionName = "App.Listform.ListformField.SocialMedia",
- Width = 0,
- ListOrderNo = 2,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.SocialMedia), "Id", "PollQuestion"),
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Text",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Text",
- Width = 0,
- ListOrderNo = 4,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "Votes",
- EditGroupOrderNo = 1,
- EditOrderNo = 3,
- EditorType2 = EditorTypes.dxNumberBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Votes",
- Alignment = "right",
- Width = 0,
- ListOrderNo = 5,
- Visible = true,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson,
- },
- ]);
- #endregion
- }
- #endregion
-
- #region Social Comment
- listFormName = AppCodes.Intranet.SocialComment;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialComment)),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialComment)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
- EditingFormJson = JsonSerializer.Serialize(new List() {
- new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- }
- );
-
- #region Social Comment Fields
- await _listFormFieldRepository.InsertManyAsync([
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Content",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxTextArea,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Content",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- SortIndex = 1,
- SortDirection = GridColumnOptions.SortOrderAsc,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 4,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "SocialPostId",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.SocialPostId",
- Width = 0,
- ListOrderNo = 3,
- Visible = false,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- }
- ]);
- #endregion
- }
- #endregion
-
- #region Social Like
- listFormName = AppCodes.Intranet.SocialLike;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialLike)),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialLike)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
- EditingFormJson = JsonSerializer.Serialize(new List() {
- new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- }
- );
-
- #region Social Like Fields
- await _listFormFieldRepository.InsertManyAsync([
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "SocialPostId",
- CaptionName = "App.Listform.ListformField.SocialPostId",
- Width = 0,
- ListOrderNo = 3,
- Visible = false,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- }
- ]);
- #endregion
- }
- #endregion
-
- #region EventType
- listFormName = AppCodes.Intranet.EventType;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.EventType)),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.EventType)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
- EditingFormJson = JsonSerializer.Serialize(new List() {
- new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- }
- );
-
- #region EventType Fields
- await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Name",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Name",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- SortIndex = 1,
- SortDirection = GridColumnOptions.SortOrderAsc,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- }
- });
- #endregion
- }
- #endregion
-
- #region EventCategory
- listFormName = AppCodes.Intranet.EventCategory;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.EventCategory)),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.EventCategory)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
- EditingFormJson = JsonSerializer.Serialize(new List() {
- new() { Order=1, ColCount=1, ColSpan=1,ItemType="group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- }
- );
-
- #region EventCategory Fields
- await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Name",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Name",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- SortIndex = 1,
- SortDirection = GridColumnOptions.SortOrderAsc,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- }
- });
- #endregion
- }
- #endregion
-
- #region Event
- listFormName = AppCodes.Intranet.Event;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = true,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Event)),
- WidgetsJson = DefaultWidgetsJson(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Event)), listFormName, true,
- new("App.Widget.Upcoming", "blue", "FaCalendarAlt", "\"Date\" >= CURRENT_TIMESTAMP"),
- new("App.StaticLookup.Published", "green", "FaCheckCircle", "\"Status\" = 'published'"),
- new("App.StaticLookup.Draft", "gray", "FaPencilAlt", "\"Status\" = 'draft'"),
- new("App.StaticLookup.Cancelled", "red", "FaBan", "\"Status\" = 'cancelled'")),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Event)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 900, 500, true, true, true, true, false, true),
- EditingFormJson = JsonSerializer.Serialize(new List()
- {
- new() {
- Order = 1, ColCount = 3, ColSpan = 1, ItemType = "group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
- new() { FieldName = "Status", FieldDbType = DbType.String, Value = "draft", CustomValueType = FieldCustomValueTypeEnum.Value },
- }),
- SubFormsJson = JsonSerializer.Serialize(new List() {
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.EventLike,
- Code = AppCodes.Intranet.EventLike,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "EventId"
- }
- }
- },
- new {
- TabType = ListFormTabTypeEnum.List,
- TabTitle = AppCodes.Intranet.EventComment,
- Code = AppCodes.Intranet.EventComment,
- Relation = new List() {
- new {
- ParentFieldName = "Id",
- DbType = DbType.Guid,
- ChildFieldName = "EventId"
- }
- }
- }
- })
- }
- );
-
- #region Event Fields
- await _listFormFieldRepository.InsertManyAsync(new ListFormField[]
- {
- // Id
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- SortIndex = 0,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // CategoryId
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "CategoryId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.Category",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.EventCategory), "Id", "Name"),
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // TypeId
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "TypeId",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.Type",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.EventType), "Id", "Name"),
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- //Date
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Date,
- FieldName = "Date",
- EditGroupOrderNo = 1,
- EditOrderNo = 3,
- EditorType2 = EditorTypes.dxDateBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Date",
- Width = 0,
- ListOrderNo = 4,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // Name
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Name",
- EditGroupOrderNo = 1,
- EditOrderNo = 4,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Name",
- Width = 0,
- ListOrderNo = 5,
- Visible = true,
- IsActive = true,
- SortIndex = 1,
- SortDirection = GridColumnOptions.SortOrderAsc,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // Place
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Place",
- EditGroupOrderNo = 1,
- EditOrderNo = 5,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Place",
- Width = 0,
- ListOrderNo = 6,
- Visible = true,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // Description
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Description",
- EditGroupOrderNo = 1,
- EditOrderNo = 9,
- EditorType2 = EditorTypes.dxTextBox,
- ColSpan = 2,
- CaptionName = "App.Listform.ListformField.Description",
- Width = 0,
- ListOrderNo = 7,
- Visible = true,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // OrganizerId
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 6,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 8,
- Visible = true,
- IsActive = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // ParticipantsCount
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "ParticipantsCount",
- EditGroupOrderNo = 1,
- EditOrderNo = 8,
- EditorType2 = EditorTypes.dxNumberBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.ParticipantsCount",
- Width = 0,
- Alignment = "right",
- ListOrderNo = 9,
- Visible = true,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // ParticipantsCount
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "Likes",
- CaptionName = "App.Listform.ListformField.Likes",
- Width = 0,
- Alignment = "right",
- ListOrderNo = 10,
- Visible = true,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // Status
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Status",
- EditGroupOrderNo = 1,
- EditOrderNo = 7,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.Status",
- Width = 0,
- ListOrderNo = 11,
- Visible = true,
- IsActive = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
- DisplayExpr = "name",
- ValueExpr = "key",
- LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
- new () { Key="published",Name="App.StaticLookup.Published" },
- new () { Key="draft",Name="App.StaticLookup.Draft" },
- new () { Key="cancelled",Name="App.StaticLookup.Cancelled" },
- }),
- }),
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Boolean,
- FieldName = "isPublished",
- EditGroupOrderNo = 1,
- EditOrderNo = 8,
- EditorType2 = EditorTypes.dxCheckBox,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.IsPublished",
- Width = 0,
- ListOrderNo = 12,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- // Photos
- new()
- {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Photos",
- EditGroupOrderNo = 1,
- EditOrderNo = 10,
- EditorType2 = EditorTypes.dxImageUpload,
- ColSpan = 1,
- EditorOptions = EditorOptions.ImageUpload(),
- CaptionName = "App.Listform.ListformField.Photos",
- Width = 0,
- ListOrderNo = 12,
- Visible = false,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- }
- });
- #endregion
- }
- #endregion
-
- #region EventLike
- listFormName = AppCodes.Intranet.EventLike;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.EventLike)),
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.EventLike)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
- EditingFormJson = JsonSerializer.Serialize(new List() {
- new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- }
- );
-
- #region EventLike Fields
- await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "EventId",
- CaptionName = "App.Listform.ListformField.EventId",
- Width = 0,
- ListOrderNo = 3,
- Visible = false,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- });
- #endregion
- }
- #endregion
-
- #region EventComment
- listFormName = AppCodes.Intranet.EventComment;
- if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
- {
- var listForm = await _listFormRepository.InsertAsync(
- new ListForm()
- {
- ListFormType = ListFormTypeEnum.List,
- PageSize = 10,
- ExportJson = DefaultExportJson,
- IsSubForm = false,
- ShowNote = false,
- LayoutJson = DefaultLayoutJson(),
- CultureName = LanguageCodes.En,
- ListFormCode = listFormName,
- Name = listFormName,
- Title = listFormName,
- DataSourceCode = SeedConsts.DataSources.DefaultCode,
- IsTenant = true,
- IsBranch = false,
- IsOrganizationUnit = false,
- Description = $"{listFormName}.Description",
- SelectCommandType = SelectCommandTypeEnum.Table,
- SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.EventComment)),
- SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
- SeedSyncInsert = false,
- SeedSyncUpdate = false,
- SeedSyncDelete = false,
- KeyFieldName = "Id",
- KeyFieldDbSourceType = DbType.Guid,
- DefaultFilter = DefaultFilterJson,
- SortMode = GridOptions.SortModeSingle,
- FilterRowJson = DefaultFilterRowJson(),
- HeaderFilterJson = DefaultHeaderFilterJson(),
- SearchPanelJson = DefaultSearchPanelJson(),
- GroupPanelJson = DefaultGroupPanelJson(),
- SelectionJson = DefaultSelectionSingleJson,
- ColumnOptionJson = DefaultColumnOptionJson(),
- PermissionJson = DefaultPermissionJson(listFormName),
- DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.EventComment)),
- DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
- PagerOptionJson = DefaultPagerOptionJson,
- EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 450, true, true, true, true, false),
- EditingFormJson = JsonSerializer.Serialize(new List() {
- new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
- }),
- InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
- }
- );
-
- #region EventComment Fields
- await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "Id",
- CaptionName = "App.Listform.ListformField.Id",
- Width = 0,
- ListOrderNo = 1,
- Visible = false,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "UserId",
- EditGroupOrderNo = 1,
- EditOrderNo = 1,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- CaptionName = "Abp.Mailing.Smtp.UserName",
- Width = 0,
- ListOrderNo = 2,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- LookupJson = JsonSerializer.Serialize(new LookupDto {
- DataSourceType = UiLookupDataSourceTypeEnum.Query,
- DisplayExpr = "Name",
- ValueExpr = "Key",
- LookupQuery = LookupQueryValues.UserValues
- }),
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.String,
- FieldName = "Content",
- EditGroupOrderNo = 1,
- EditOrderNo = 2,
- EditorType2 = EditorTypes.dxTextArea,
- ColSpan = 1,
- CaptionName = "App.Listform.ListformField.Content",
- Width = 0,
- ListOrderNo = 3,
- Visible = true,
- IsActive = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Guid,
- FieldName = "EventId",
- EditGroupOrderNo = 1,
- EditOrderNo = 3,
- EditorType2 = EditorTypes.dxSelectBox,
- ColSpan = 1,
- EditorOptions = EditorOptions.ShowClearButton(),
- CaptionName = "App.Listform.ListformField.Event",
- Width = 0,
- ListOrderNo = 4,
- Visible = true,
- IsActive = true,
- AllowSearch = true,
- ValidationRuleJson = DefaultValidationRuleRequiredJson,
- LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Event), "Id", "Name"),
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- new() {
- ListFormCode = listForm.ListFormCode,
- CultureName = LanguageCodes.En,
- SourceDbType = DbType.Int32,
- FieldName = "Likes",
- CaptionName = "App.Listform.ListformField.Likes",
- Alignment = "right",
- Width = 0,
- ListOrderNo = 5,
- Visible = true,
- IsActive = true,
- ColumnCustomizationJson = DefaultColumnCustomizationJson,
- PermissionJson = DefaultFieldPermissionJson(listForm.Name),
- PivotSettingsJson = DefaultPivotSettingsJson
- },
- });
- #endregion
- }
- #endregion
-
#region Licence
listFormName = AppCodes.Licence;
if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
@@ -10976,5 +8437,1425 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep
#endregion
}
#endregion
+ #region User Education
+ listFormName = AppCodes.IdentityManagement.UserEducation;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserEducation)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ // Ayri yetki yok: liste kullanici detayinin parcasidir; C/U/D detay sayfasinin istedigi Users.Update'e baglanir.
+ PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Export, PlatformConsts.IdentityPermissions.Users.Import, PlatformConsts.IdentityPermissions.Users.Note),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.UserEducation)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
+ new() { FieldName = "IsGraduated", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value },
+ }),
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 900, 650, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() {
+ Order = 1, ColCount = 2, ColSpan = 1, ItemType = "group" },
+ }),
+ }, autoSave: true
+ );
+
+ #region User Education Fields
+ var fieldPermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false);
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Kullanici detayi listeyi UserId filtresiyle acar; yeni satir degerini o filtreden alir.
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ CaptionName = "App.Listform.ListformField.UserId",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "EducationLevel",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.EducationLevel",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key="İlkokul", Name="App.EducationLevel.Primary" },
+ new() { Key="Ortaokul", Name="App.EducationLevel.MiddleSchool" },
+ new() { Key="Lise", Name="App.EducationLevel.HighSchool" },
+ new() { Key="Ön Lisans", Name="App.EducationLevel.Associate" },
+ new() { Key="Lisans", Name="App.EducationLevel.Bachelor" },
+ new() { Key="Yüksek Lisans", Name="App.EducationLevel.Master" },
+ new() { Key="Doktora", Name="App.EducationLevel.PhD" },
+ }),
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "SchoolName",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.SchoolName",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Department",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.StudyField",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "StartDate",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.StartDate",
+ Width = 0,
+ ListOrderNo = 6,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "EndDate",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 5,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.GraduationDate",
+ Width = 0,
+ ListOrderNo = 7,
+ Visible = true,
+ IsActive = true,
+
+ SortIndex = 1,
+ SortDirection = GridColumnOptions.SortOrderDesc,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsGraduated",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 6,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IsGraduated",
+ Width = 0,
+ ListOrderNo = 8,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region User Language
+ listFormName = AppCodes.IdentityManagement.UserLanguage;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserLanguage)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ // Ayri yetki yok: liste kullanici detayinin parcasidir; C/U/D detay sayfasinin istedigi Users.Update'e baglanir.
+ PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Export, PlatformConsts.IdentityPermissions.Users.Import, PlatformConsts.IdentityPermissions.Users.Note),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.UserLanguage)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 400, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() {
+ Order = 1, ColCount = 2, ColSpan = 1, ItemType = "group" },
+ }),
+ }, autoSave: true
+ );
+
+ #region User Language Fields
+ var fieldPermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false);
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Kullanici detayi listeyi UserId filtresiyle acar; yeni satir degerini o filtreden alir.
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ CaptionName = "App.Listform.ListformField.UserId",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "SkillId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Language",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.TenantLanguageSkillValues,
+ CascadeEmptyFields = "SkillLevelId"
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "SkillLevelId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.Level",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.TenantSkillLevelBySkillValues,
+ CascadeRelationField = "SkillId",
+ CascadeFilterOperator = "=",
+ CascadeParentFields = "SkillId",
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Note",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 2,
+ CaptionName = "App.Listform.ListformField.Note",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region User Skill
+ listFormName = AppCodes.IdentityManagement.UserSkill;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserSkill)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ // Ayri yetki yok: liste kullanici detayinin parcasidir; C/U/D detay sayfasinin istedigi Users.Update'e baglanir.
+ PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Export, PlatformConsts.IdentityPermissions.Users.Import, PlatformConsts.IdentityPermissions.Users.Note),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.UserSkill)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
+ new() { FieldName = "Level", FieldDbType = DbType.Int32, Value = "3", CustomValueType = FieldCustomValueTypeEnum.Value },
+ }),
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 400, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() {
+ Order = 1, ColCount = 2, ColSpan = 1, ItemType = "group" },
+ }),
+ }, autoSave: true
+ );
+
+ #region User Skill Fields
+ var fieldPermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false);
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Kullanici detayi listeyi UserId filtresiyle acar; yeni satir degerini o filtreden alir.
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ CaptionName = "App.Listform.ListformField.UserId",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "SkillId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Skill",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.TenantNonLanguageSkillValues,
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "Level",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Level",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key=1, Name="App.StaticLookup.SkillLevel1" },
+ new() { Key=2, Name="App.StaticLookup.SkillLevel2" },
+ new() { Key=3, Name="App.StaticLookup.SkillLevel3" },
+ new() { Key=4, Name="App.StaticLookup.SkillLevel4" },
+ new() { Key=5, Name="App.StaticLookup.SkillLevel5" },
+ }),
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Note",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 2,
+ CaptionName = "App.Listform.ListformField.Note",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region User Certificate
+ listFormName = AppCodes.IdentityManagement.UserCertificate;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserCertificate)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ // Ayri yetki yok: liste kullanici detayinin parcasidir; C/U/D detay sayfasinin istedigi Users.Update'e baglanir.
+ PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Export, PlatformConsts.IdentityPermissions.Users.Import, PlatformConsts.IdentityPermissions.Users.Note),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.UserCertificate)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 900, 650, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() {
+ Order = 1, ColCount = 2, ColSpan = 1, ItemType = "group" },
+ }),
+ }, autoSave: true
+ );
+
+ #region User Certificate Fields
+ var fieldPermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false);
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Kullanici detayi listeyi UserId filtresiyle acar; yeni satir degerini o filtreden alir.
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ CaptionName = "App.Listform.ListformField.UserId",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "CertificateId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Certificate",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.TenantCertificateValues,
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "CertificateNo",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.CertificateNo",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "IssuedBy",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IssuedBy",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "IssueDate",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.IssueDate",
+ Width = 0,
+ ListOrderNo = 6,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "ExpiryDate",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 5,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.ExpiryDate",
+ Width = 0,
+ ListOrderNo = 7,
+ Visible = true,
+ IsActive = true,
+
+ SortIndex = 1,
+ SortDirection = GridColumnOptions.SortOrderAsc,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Note",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 6,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Note",
+ Width = 0,
+ ListOrderNo = 8,
+ Visible = false,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region User Family Member
+ listFormName = AppCodes.IdentityManagement.UserFamilyMember;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserFamilyMember)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ // Ayri yetki yok: liste kullanici detayinin parcasidir; C/U/D detay sayfasinin istedigi Users.Update'e baglanir.
+ PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Export, PlatformConsts.IdentityPermissions.Users.Import, PlatformConsts.IdentityPermissions.Users.Note),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.UserFamilyMember)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 900, 650, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() {
+ Order = 1, ColCount = 2, ColSpan = 1, ItemType = "group" },
+ }),
+ }, autoSave: true
+ );
+
+ #region User Family Member Fields
+ var fieldPermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false);
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Kullanici detayi listeyi UserId filtresiyle acar; yeni satir degerini o filtreden alir.
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ CaptionName = "App.Listform.ListformField.UserId",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Relationship",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Relationship",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key="Spouse", Name="App.StaticLookup.Spouse" },
+ new() { Key="Child", Name="App.StaticLookup.Child" },
+ }),
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Name",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Name",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Surname",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Surname",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "IdentityNumber",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IdentityNumber",
+ Width = 0,
+ ListOrderNo = 6,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "BirthDate",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 5,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.BirthDate",
+ Width = 0,
+ ListOrderNo = 7,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "EmploymentStatus",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 6,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.EmploymentStatus",
+ Width = 0,
+ ListOrderNo = 8,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key="Working", Name="App.StaticLookup.Working" },
+ new() { Key="NotWorking", Name="App.StaticLookup.NotWorking" },
+ new() { Key="Student", Name="App.StaticLookup.Student" },
+ new() { Key="Retired", Name="App.StaticLookup.Retired" },
+ }),
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsInsuranceCovered",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 7,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IsInsuranceCovered",
+ Width = 0,
+ ListOrderNo = 9,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsBenefitCovered",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 8,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IsBenefitCovered",
+ Width = 0,
+ ListOrderNo = 10,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region User Emergency Contact
+ listFormName = AppCodes.IdentityManagement.UserEmergencyContact;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserEmergencyContact)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ // Ayri yetki yok: liste kullanici detayinin parcasidir; C/U/D detay sayfasinin istedigi Users.Update'e baglanir.
+ PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Export, PlatformConsts.IdentityPermissions.Users.Import, PlatformConsts.IdentityPermissions.Users.Note),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.UserEmergencyContact)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 400, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() {
+ Order = 1, ColCount = 2, ColSpan = 1, ItemType = "group" },
+ }),
+ }, autoSave: true
+ );
+
+ #region User Emergency Contact Fields
+ var fieldPermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false);
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Kullanici detayi listeyi UserId filtresiyle acar; yeni satir degerini o filtreden alir.
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ CaptionName = "App.Listform.ListformField.UserId",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Name",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.FullName",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Relationship",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Relationship",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key="Spouse", Name="App.StaticLookup.Spouse" },
+ new() { Key="Parent", Name="App.StaticLookup.Parent" },
+ new() { Key="Sibling", Name="App.StaticLookup.Sibling" },
+ new() { Key="Child", Name="App.StaticLookup.Child" },
+ new() { Key="Relative", Name="App.StaticLookup.Relative" },
+ new() { Key="Friend", Name="App.StaticLookup.Friend" },
+ new() { Key="Other", Name="App.StaticLookup.Other" },
+ }),
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "PhoneNumber",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.Phone(),
+ CaptionName = "App.Listform.ListformField.PhoneNumber",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region User Benefit
+ listFormName = AppCodes.IdentityManagement.UserBenefit;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserBenefit)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ // Ayri yetki yok: liste kullanici detayinin parcasidir; C/U/D detay sayfasinin istedigi Users.Update'e baglanir.
+ PermissionJson = DefaultPermissionJson(PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Update, PlatformConsts.IdentityPermissions.Users.Export, PlatformConsts.IdentityPermissions.Users.Import, PlatformConsts.IdentityPermissions.Users.Note),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.UserBenefit)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 900, 650, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() {
+ Order = 1, ColCount = 2, ColSpan = 1, ItemType = "group" },
+ }),
+ }, autoSave: true
+ );
+
+ #region User Benefit Fields
+ var fieldPermissionJson = DefaultFieldPermissionJson(PlatformConsts.IdentityPermissions.Users.Create, PlatformConsts.IdentityPermissions.Users.Default, PlatformConsts.IdentityPermissions.Users.Update, true, true, false);
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Kullanici detayi listeyi UserId filtresiyle acar; yeni satir degerini o filtreden alir.
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ CaptionName = "App.Listform.ListformField.UserId",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "BenefitType",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.BenefitType",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new() { Key="Meal", Name="App.StaticLookup.BenefitMeal" },
+ new() { Key="Transportation", Name="App.StaticLookup.BenefitTransportation" },
+ new() { Key="PrivateHealthInsurance", Name="App.StaticLookup.BenefitPrivateHealthInsurance" },
+ new() { Key="PrivatePension", Name="App.StaticLookup.BenefitPrivatePension" },
+ new() { Key="Housing", Name="App.StaticLookup.BenefitHousing" },
+ new() { Key="Vehicle", Name="App.StaticLookup.BenefitVehicle" },
+ new() { Key="Phone", Name="App.StaticLookup.BenefitPhone" },
+ new() { Key="Other", Name="App.StaticLookup.BenefitOther" },
+ }),
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Decimal,
+ FieldName = "Amount",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxNumberBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.Number(2),
+ CaptionName = "App.Listform.ListformField.Amount",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "StartDate",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.StartDate",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "EndDate",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.EndDate",
+ Width = 0,
+ ListOrderNo = 6,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Note",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 5,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 2,
+ CaptionName = "App.Listform.ListformField.Note",
+ Width = 0,
+ ListOrderNo = 7,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = fieldPermissionJson,
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
}
}
diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Hr.cs b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Hr.cs
index 5ea0e394..93c50300 100644
--- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Hr.cs
+++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Hr.cs
@@ -765,5 +765,3107 @@ public class ListFormSeeder_Hr : IDataSeedContributor, ITransientDependency
#endregion
}
#endregion
+
+ #region Announcement
+ listFormName = AppCodes.Intranet.Announcement;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = true,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Announcement)),
+ WidgetsJson = DefaultWidgetsJson(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Announcement)), listFormName, true,
+ new("App.Widget.Active", "green", "FaBullhorn", "(\"ExpiryDate\" IS NULL OR \"ExpiryDate\" >= CURRENT_TIMESTAMP)"),
+ new("App.Widget.Pinned", "purple", "FaThumbtack", "\"IsPinned\" = 'true'"),
+ new("App.Widget.Expired", "gray", "FaCalendarTimes", "\"ExpiryDate\" < CURRENT_TIMESTAMP"),
+ new("App.Widget.TotalViews", "blue", "FaEye", Value: "COALESCE(SUM(\"ViewCount\"), 0)")),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Announcement)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 750, 700, true, true, true, true, false, true),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingFormJson = JsonSerializer.Serialize(new List()
+ {
+ new() {
+ Order=1, ColCount=2, ColSpan=1, ItemType="group" },
+ }),
+ FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
+ {
+ new() { FieldName = "IsPinned", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value },
+ new() { FieldName = "PublishDate", FieldDbType = DbType.Date, Value = "@NOW", CustomValueType = FieldCustomValueTypeEnum.CustomKey }
+ }),
+ SubFormsJson = JsonSerializer.Serialize(new List() {
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.AnnouncementLike,
+ Code = AppCodes.Intranet.AnnouncementLike,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "AnnouncementId"
+ }
+ }
+ },
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.AnnouncementComment,
+ Code = AppCodes.Intranet.AnnouncementComment,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "AnnouncementId"
+ }
+ }
+ }
+ })
+ }
+ );
+
+ #region Announcement Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ SortIndex = 0,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Title",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Title",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Excerpt",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Excerpt",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Content",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxHtmlEditor,
+ ColSpan = 2,
+ EditorOptions = EditorOptions.Html(),
+ CaptionName = "App.Listform.ListformField.Content",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = false,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Category",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.Category",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto
+ {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new () { Key= "general", Name= "Abp.Account.General" },
+ new () { Key= "event", Name= "App.StaticLookup.Event" },
+ new () { Key= "urgent", Name= "App.Listform.ListformField.IsUrgent" },
+ new () { Key= "announcement", Name= "App.StaticLookup.Announcement" },
+ }),
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 5,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 6,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.DateTime,
+ FieldName = "PublishDate",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 6,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.PublishDate",
+ Width = 0,
+ ListOrderNo = 7,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.DateTime,
+ FieldName = "ExpiryDate",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 7,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.ExpiryDate",
+ Width = 0,
+ ListOrderNo = 8,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "Likes",
+ CaptionName = "App.Listform.ListformField.Likes",
+ Width = 0,
+ Alignment = "right",
+ ListOrderNo = 11,
+ Visible = false,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsPinned",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 8,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IsPinned",
+ Width = 0,
+ ListOrderNo = 9,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "ImageUrl",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 9,
+ EditorType2 = EditorTypes.dxImageUpload,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ImageUpload(),
+ CaptionName = "App.Listform.ListformField.ImageUrl",
+ Width = 0,
+ ListOrderNo = 10,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ]);
+ #endregion
+ }
+ #endregion
+
+ #region AnnouncementLike
+ listFormName = AppCodes.Intranet.AnnouncementLike;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.AnnouncementLike)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.AnnouncementLike)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List() {
+ new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ }
+ );
+
+ #region AnnouncementLike Fields
+ await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "AnnouncementId",
+ CaptionName = "App.Listform.ListformField.AnnouncementId",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = false,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ });
+ #endregion
+ }
+ #endregion
+
+ #region AnnouncementComment
+ listFormName = AppCodes.Intranet.AnnouncementComment;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.AnnouncementComment)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.AnnouncementComment)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 450, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List() {
+ new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ }
+ );
+
+ #region AnnouncementComment Fields
+ await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Content",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextArea,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Content",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "AnnouncementId",
+ CaptionName = "App.Listform.ListformField.AnnouncementId",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = false,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ });
+ #endregion
+ }
+ #endregion
+
+ #region Survey
+ listFormName = AppCodes.Intranet.Survey;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = true,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Survey)),
+ WidgetsJson = DefaultWidgetsJson(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Survey)), listFormName, true,
+ new("App.Widget.Active", "green", "FaCheckCircle", "\"Status\" = 'active'"),
+ new("App.Widget.Passive", "gray", "FaTimesCircle", "\"Status\" = 'passive'"),
+ new("App.Widget.TotalResponses", "purple", "FaPollH", Value: "COALESCE(SUM(\"Responses\"), 0)")),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Survey)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 500, true, true, true, true, false, true),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingFormJson = JsonSerializer.Serialize(new List()
+ {
+ new() {
+ Order=1, ColCount=3, ColSpan=1, ItemType="group" },
+ }),
+ FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
+ {
+ new() { FieldName = "IsAnonymous", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value },
+ new() { FieldName = "Status", FieldDbType = DbType.String, Value = "active", CustomValueType = FieldCustomValueTypeEnum.Value }
+ }),
+ SubFormsJson = JsonSerializer.Serialize(new List() {
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.SurveyQuestion,
+ Code = AppCodes.Intranet.SurveyQuestion,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "SurveyId"
+ }
+ }
+ },
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.SurveyResponse,
+ Code = AppCodes.Intranet.SurveyResponse,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "SurveyId"
+ }
+ }
+ }
+ })
+ }, autoSave: true
+ );
+
+ #region Survey Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ SortIndex = 0,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Title",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 3,
+ CaptionName = "App.Listform.ListformField.Title",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "Deadline",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Deadline",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "Responses",
+ CaptionName = "App.Listform.ListformField.Responses",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Status",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.Status",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto
+ {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new () { Key= "active", Name= "App.Listform.ListformField.IsActive" },
+ new () { Key= "passive", Name= "App.Platform.Passive" },
+ }),
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Description",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 5,
+ EditorType2 = EditorTypes.dxTextArea,
+ ColSpan = 3,
+ CaptionName = "App.Listform.ListformField.Description",
+ Width = 0,
+ ListOrderNo = 7,
+ Visible = false,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsAnonymous",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IsAnonymous",
+ Width = 0,
+ ListOrderNo = 6,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region Survey Question
+ listFormName = AppCodes.Intranet.SurveyQuestion;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = true,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyQuestion)),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SurveyQuestion)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 400, true, true, true, true, false, true),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingFormJson = JsonSerializer.Serialize(new List()
+ {
+ new() {
+ Order=1, ColCount=3, ColSpan=1, ItemType="group" },
+ }),
+ FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
+ {
+ new() { FieldName = "IsRequired", FieldDbType = DbType.Boolean, Value = "false", CustomValueType = FieldCustomValueTypeEnum.Value },
+ }),
+ SubFormsJson = JsonSerializer.Serialize(new List() {
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.SurveyQuestionOption,
+ Code = AppCodes.Intranet.SurveyQuestionOption,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "QuestionId"
+ }
+ }
+ }
+ })
+ }, autoSave: true
+ );
+
+ #region Survey Question Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ SortIndex = 0,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "Order",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxNumberBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Order",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "QuestionText",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 3,
+ CaptionName = "App.Listform.ListformField.QuestionText",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Type",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.Type",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto
+ {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new () { Key= "rating", Name= "App.StaticLookup.Rating" },
+ new () { Key= "multiple-choice", Name= "App.StaticLookup.MultipleChoice" },
+ new () { Key= "text", Name= "App.Listform.ListformField.Text" },
+ new () { Key= "textarea", Name= "App.StaticLookup.Textarea" },
+ new () { Key= "yes-no", Name= "App.StaticLookup.YesNo" },
+ }),
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsRequired",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Required",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "SurveyId",
+ CaptionName = "App.Listform.ListformField.SurveyId",
+ Width = 0,
+ ListOrderNo = 14,
+ Visible = false,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region Survey Question Option
+ listFormName = AppCodes.Intranet.SurveyQuestionOption;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyQuestionOption)),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SurveyQuestionOption)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 400, true, true, true, true, false, false),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingFormJson = JsonSerializer.Serialize(new List()
+ {
+ new() {
+ Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ }, autoSave: true
+ );
+
+ #region Survey Question Option Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ SortIndex = 0,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "Order",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxNumberBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Order",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Text",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Text",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "QuestionId",
+ CaptionName = "App.Listform.ListformField.QuestionId",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = false,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region Survey Response
+ listFormName = AppCodes.Intranet.SurveyResponse;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = true,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyResponse)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SurveyResponse)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 400, true, true, true, true, false, true),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingFormJson = JsonSerializer.Serialize(new List()
+ {
+ new() {
+ Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ SubFormsJson = JsonSerializer.Serialize(new List() {
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.SurveyAnswer,
+ Code = AppCodes.Intranet.SurveyAnswer,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "ResponseId"
+ }
+ }
+ }
+ }),
+ }, autoSave: true
+ );
+
+ #region Survey Response Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ SortIndex = 0,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.DateTime,
+ FieldName = "SubmissionTime",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.SubmissionTime",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "SurveyId",
+ CaptionName = "App.Listform.ListformField.SurveyId",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = false,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+
+ #endregion
+
+ #region Survey Answer
+ listFormName = AppCodes.Intranet.SurveyAnswer;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SurveyAnswer)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SurveyAnswer)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 400, true, true, true, true, false, false),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingFormJson = JsonSerializer.Serialize(new List()
+ {
+ new() {
+ Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ }, autoSave: true
+ );
+
+ #region Survey Answer Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ SortIndex = 0,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "QuestionId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.QuestionId",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.SurveyQuestionValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Value",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Value",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "ResponseId",
+ CaptionName = "App.Listform.ListformField.ResponseId",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = false,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ], autoSave: true);
+ #endregion
+ }
+ #endregion
+
+ #region Social Post
+ listFormName = AppCodes.Intranet.SocialPost;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = true,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialPost)),
+ WidgetsJson = DefaultWidgetsJson(TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialPost)), listFormName, true,
+ new("App.Widget.Total", "blue", "FaComments"),
+ new("App.Widget.Today", "green", "FaCalendarDay", "CAST(\"CreationTime\" AS DATE) = CAST(CURRENT_TIMESTAMP AS DATE)"),
+ new("App.Widget.TotalLikes", "pink", "FaHeart", Value: "COALESCE(SUM(\"LikeCount\"), 0)")),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialPost)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 600, true, true, true, true, false, true),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ EditingFormJson = JsonSerializer.Serialize(new List()
+ {
+ new() {
+ Order=1, ColCount=2, ColSpan=1, ItemType="group" },
+ }),
+ FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[]
+ {
+ new() { FieldName = "LikeCount", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value },
+ new() { FieldName = "IsLiked", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value },
+ new() { FieldName = "IsOwnPost", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value }
+ }),
+ SubFormsJson = JsonSerializer.Serialize(new List() {
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.SocialComment,
+ Code = AppCodes.Intranet.SocialComment,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "SocialPostId"
+ }
+ }
+ },
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.SocialMedia,
+ Code = AppCodes.Intranet.SocialMedia,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "SocialPostId"
+ }
+ }
+ },
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.SocialLike,
+ Code = AppCodes.Intranet.SocialLike,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "SocialPostId"
+ }
+ }
+ }
+ })
+ }
+ );
+
+ #region Social Post Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ SortIndex = 0,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Content",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 5,
+ EditorType2 = EditorTypes.dxHtmlEditor,
+ ColSpan = 2,
+ EditorOptions = EditorOptions.Html(),
+ CaptionName = "App.Listform.ListformField.Content",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "LikeCount",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxNumberBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.LikeCount",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsLiked",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IsLiked",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsOwnPost",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IsOwnPost",
+ Width = 0,
+ ListOrderNo = 6,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ]);
+ #endregion
+ }
+ #endregion
+
+ #region SocialMedia
+ listFormName = AppCodes.Intranet.SocialMedia;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialMedia)),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialMedia)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 700, 550, true, true, true, true, false, true),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() { Order = 1, ColCount = 2, ColSpan = 1, ItemType = "group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
+ new() { FieldName = "Type", FieldDbType = DbType.String, Value = "image", CustomValueType = FieldCustomValueTypeEnum.Value },
+ new() { FieldName = "PollTotalVotes", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }
+ }),
+ SubFormsJson = JsonSerializer.Serialize(new List() {
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.SocialPollOption,
+ Code = AppCodes.Intranet.SocialPollOption,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "SocialMediaId"
+ }
+ }
+ }
+ })
+ });
+
+ #region SocialMedia Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "SocialPostId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.SocialPost",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.SocialPost), "Id", "Content"),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Type",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.Type",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ LookupJson = JsonSerializer.Serialize(new LookupDto
+ {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new () { Key = "image", Name = "App.StaticLookup.Image" },
+ new () { Key = "video", Name = "App.StaticLookup.Video" },
+ new () { Key = "poll", Name = "App.StaticLookup.Poll" },
+ }),
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "PollQuestion",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.PollQuestion",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "PollTotalVotes",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxNumberBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.PollTotalVotes",
+ Alignment = "right",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.DateTime,
+ FieldName = "PollEndsAt",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 5,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.PollEndsAt",
+ Width = 0,
+ ListOrderNo = 6,
+ Visible = true,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "PollUserVoteId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 6,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.PollUserVoteId",
+ Width = 0,
+ ListOrderNo = 7,
+ Visible = false,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Urls",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 7,
+ EditorType2 = EditorTypes.dxTextArea,
+ ColSpan = 2,
+ CaptionName = "App.Listform.ListformField.Urls",
+ Width = 0,
+ ListOrderNo = 8,
+ Visible = true,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ ]);
+ #endregion
+ }
+ #endregion
+
+ #region SocialPollOption
+ listFormName = AppCodes.Intranet.SocialPollOption;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = true,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialPollOption)),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialPollOption)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 320, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() { Order = 1, ColCount = 1, ColSpan = 1, ItemType = "group" },
+ }),
+ InsertFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
+ new() { FieldName = "CreationTime", FieldDbType = DbType.DateTimeOffset, Value = "@NOW", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
+ new() { FieldName = "CreatorId", FieldDbType = DbType.Guid, Value = "@USERID", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
+ new() { FieldName = "Id", FieldDbType = DbType.Guid, Value = "@NEWID", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
+ new() { FieldName = "Votes", FieldDbType = DbType.Int32, Value = "0", CustomValueType = FieldCustomValueTypeEnum.Value }
+ }),
+ UpdateFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
+ new() { FieldName = "LastModifierId", FieldDbType = DbType.Guid, Value = "@USERID", CustomValueType = FieldCustomValueTypeEnum.CustomKey },
+ new() { FieldName = "Id", FieldDbType = DbType.Guid, Value = "@ID", CustomValueType = FieldCustomValueTypeEnum.CustomKey }
+ })
+ });
+
+ #region SocialPollOption Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "SocialMediaId",
+ CaptionName = "App.Listform.ListformField.SocialMedia",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.SocialMedia), "Id", "PollQuestion"),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Text",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Text",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "Votes",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxNumberBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Votes",
+ Alignment = "right",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson,
+ },
+ ]);
+ #endregion
+ }
+ #endregion
+
+ #region Social Comment
+ listFormName = AppCodes.Intranet.SocialComment;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialComment)),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialComment)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List() {
+ new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ }
+ );
+
+ #region Social Comment Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Content",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxTextArea,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Content",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ SortIndex = 1,
+ SortDirection = GridColumnOptions.SortOrderAsc,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "SocialPostId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.SocialPostId",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = false,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ }
+ ]);
+ #endregion
+ }
+ #endregion
+
+ #region Social Like
+ listFormName = AppCodes.Intranet.SocialLike;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.SocialLike)),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.SocialLike)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List() {
+ new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ }
+ );
+
+ #region Social Like Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "SocialPostId",
+ CaptionName = "App.Listform.ListformField.SocialPostId",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = false,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ }
+ ]);
+ #endregion
+ }
+ #endregion
+
+ #region EventType
+ listFormName = AppCodes.Intranet.EventType;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.EventType)),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.EventType)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List() {
+ new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ }
+ );
+
+ #region EventType Fields
+ await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Name",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Name",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ SortIndex = 1,
+ SortDirection = GridColumnOptions.SortOrderAsc,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ }
+ });
+ #endregion
+ }
+ #endregion
+
+ #region EventCategory
+ listFormName = AppCodes.Intranet.EventCategory;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.EventCategory)),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.EventCategory)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List() {
+ new() { Order=1, ColCount=1, ColSpan=1,ItemType="group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ }
+ );
+
+ #region EventCategory Fields
+ await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Name",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Name",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ SortIndex = 1,
+ SortDirection = GridColumnOptions.SortOrderAsc,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ }
+ });
+ #endregion
+ }
+ #endregion
+
+ #region Event
+ listFormName = AppCodes.Intranet.Event;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = true,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.Event)),
+ WidgetsJson = DefaultWidgetsJson(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Event)), listFormName, true,
+ new("App.Widget.Upcoming", "blue", "FaCalendarAlt", "\"Date\" >= CURRENT_TIMESTAMP"),
+ new("App.StaticLookup.Published", "green", "FaCheckCircle", "\"Status\" = 'published'"),
+ new("App.StaticLookup.Draft", "gray", "FaPencilAlt", "\"Status\" = 'draft'"),
+ new("App.StaticLookup.Cancelled", "red", "FaBan", "\"Status\" = 'cancelled'")),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.Event)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 900, 500, true, true, true, true, false, true),
+ EditingFormJson = JsonSerializer.Serialize(new List()
+ {
+ new() {
+ Order = 1, ColCount = 3, ColSpan = 1, ItemType = "group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
+ new() { FieldName = "Status", FieldDbType = DbType.String, Value = "draft", CustomValueType = FieldCustomValueTypeEnum.Value },
+ }),
+ SubFormsJson = JsonSerializer.Serialize(new List() {
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.EventLike,
+ Code = AppCodes.Intranet.EventLike,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "EventId"
+ }
+ }
+ },
+ new {
+ TabType = ListFormTabTypeEnum.List,
+ TabTitle = AppCodes.Intranet.EventComment,
+ Code = AppCodes.Intranet.EventComment,
+ Relation = new List() {
+ new {
+ ParentFieldName = "Id",
+ DbType = DbType.Guid,
+ ChildFieldName = "EventId"
+ }
+ }
+ }
+ })
+ }
+ );
+
+ #region Event Fields
+ await _listFormFieldRepository.InsertManyAsync(new ListFormField[]
+ {
+ // Id
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ SortIndex = 0,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // CategoryId
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "CategoryId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.Category",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.EventCategory), "Id", "Name"),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // TypeId
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "TypeId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.Type",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.EventType), "Id", "Name"),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ //Date
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Date,
+ FieldName = "Date",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxDateBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Date",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Name
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Name",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 4,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Name",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+ SortIndex = 1,
+ SortDirection = GridColumnOptions.SortOrderAsc,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Place
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Place",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 5,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Place",
+ Width = 0,
+ ListOrderNo = 6,
+ Visible = true,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Description
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Description",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 9,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 2,
+ CaptionName = "App.Listform.ListformField.Description",
+ Width = 0,
+ ListOrderNo = 7,
+ Visible = true,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // OrganizerId
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 6,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 8,
+ Visible = true,
+ IsActive = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // ParticipantsCount
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "ParticipantsCount",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 8,
+ EditorType2 = EditorTypes.dxNumberBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.ParticipantsCount",
+ Width = 0,
+ Alignment = "right",
+ ListOrderNo = 9,
+ Visible = true,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // ParticipantsCount
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "Likes",
+ CaptionName = "App.Listform.ListformField.Likes",
+ Width = 0,
+ Alignment = "right",
+ ListOrderNo = 10,
+ Visible = true,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Status
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Status",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 7,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.Status",
+ Width = 0,
+ ListOrderNo = 11,
+ Visible = true,
+ IsActive = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
+ DisplayExpr = "name",
+ ValueExpr = "key",
+ LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
+ new () { Key="published",Name="App.StaticLookup.Published" },
+ new () { Key="draft",Name="App.StaticLookup.Draft" },
+ new () { Key="cancelled",Name="App.StaticLookup.Cancelled" },
+ }),
+ }),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "isPublished",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 8,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IsPublished",
+ Width = 0,
+ ListOrderNo = 12,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ // Photos
+ new()
+ {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Photos",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 10,
+ EditorType2 = EditorTypes.dxImageUpload,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ImageUpload(),
+ CaptionName = "App.Listform.ListformField.Photos",
+ Width = 0,
+ ListOrderNo = 12,
+ Visible = false,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ }
+ });
+ #endregion
+ }
+ #endregion
+
+ #region EventLike
+ listFormName = AppCodes.Intranet.EventLike;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.EventLike)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.EventLike)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 250, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List() {
+ new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ }
+ );
+
+ #region EventLike Fields
+ await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "EventId",
+ CaptionName = "App.Listform.ListformField.EventId",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = false,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ });
+ #endregion
+ }
+ #endregion
+
+ #region EventComment
+ listFormName = AppCodes.Intranet.EventComment;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = true,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.EventComment)),
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.EventComment)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 450, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List() {
+ new() { Order=1, ColCount=1, ColSpan=1, ItemType="group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ }
+ );
+
+ #region EventComment Fields
+ await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "UserId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ CaptionName = "Abp.Mailing.Smtp.UserName",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ LookupJson = JsonSerializer.Serialize(new LookupDto {
+ DataSourceType = UiLookupDataSourceTypeEnum.Query,
+ DisplayExpr = "Name",
+ ValueExpr = "Key",
+ LookupQuery = LookupQueryValues.UserValues
+ }),
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Content",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextArea,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Content",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "EventId",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxSelectBox,
+ ColSpan = 1,
+ EditorOptions = EditorOptions.ShowClearButton(),
+ CaptionName = "App.Listform.ListformField.Event",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ LookupJson = LookupQueryValues.DefaultLookupQueryJson(nameof(TableNameEnum.Event), "Id", "Name"),
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Int32,
+ FieldName = "Likes",
+ CaptionName = "App.Listform.ListformField.Likes",
+ Alignment = "right",
+ Width = 0,
+ ListOrderNo = 5,
+ Visible = true,
+ IsActive = true,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ });
+ #endregion
+ }
+ #endregion
}
}
diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Saas.cs b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Saas.cs
index 1df17881..e2cdf305 100644
--- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Saas.cs
+++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/ListFormSeeder_Saas.cs
@@ -1622,6 +1622,145 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency
}
#endregion
+ #region TerminationReason
+ listFormName = AppCodes.Definitions.TerminationReason;
+ if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
+ {
+ var listForm = await _listFormRepository.InsertAsync(
+ new ListForm()
+ {
+ ListFormType = ListFormTypeEnum.List,
+ PageSize = 10,
+ ExportJson = DefaultExportJson,
+ IsSubForm = false,
+ ShowNote = false,
+ LayoutJson = DefaultLayoutJson(),
+ CultureName = LanguageCodes.En,
+ ListFormCode = listFormName,
+ Name = listFormName,
+ Title = listFormName,
+ DataSourceCode = SeedConsts.DataSources.DefaultCode,
+ IsTenant = false,
+ IsBranch = false,
+ IsOrganizationUnit = false,
+ Description = $"{listFormName}.Description",
+ SelectCommandType = SelectCommandTypeEnum.Table,
+ SelectCommand = TableNameResolver.GetFullTableName(nameof(TableNameEnum.TerminationReason)),
+ KeyFieldName = "Id",
+ KeyFieldDbSourceType = DbType.Guid,
+ SeedFilePath = SeedPathResolver.GetDataFilePath(listFormName),
+ SeedSyncInsert = false,
+ SeedSyncUpdate = false,
+ SeedSyncDelete = false,
+ DefaultFilter = DefaultFilterJson,
+ SortMode = GridOptions.SortModeSingle,
+ FilterRowJson = DefaultFilterRowJson(),
+ HeaderFilterJson = DefaultHeaderFilterJson(),
+ SearchPanelJson = DefaultSearchPanelJson(),
+ GroupPanelJson = DefaultGroupPanelJson(),
+ SelectionJson = DefaultSelectionSingleJson,
+ ColumnOptionJson = DefaultColumnOptionJson(),
+ PermissionJson = DefaultPermissionJson(listFormName),
+ DeleteCommand = DefaultDeleteCommand(nameof(TableNameEnum.TerminationReason)),
+ DeleteFieldsDefaultValueJson = DefaultDeleteFieldsDefaultValueJson(),
+ PagerOptionJson = DefaultPagerOptionJson,
+ EditingOptionJson = DefaultEditingOptionJson(listFormName, 500, 350, true, true, true, true, false),
+ EditingFormJson = JsonSerializer.Serialize(new List
+ {
+ new() {
+ Order = 1, ColCount = 1, ColSpan = 1, ItemType = "group" },
+ }),
+ InsertFieldsDefaultValueJson = DefaultInsertFieldsDefaultValueJson(),
+ FormFieldsDefaultValueJson = JsonSerializer.Serialize(new FieldsDefaultValue[] {
+ new() { FieldName = "IsActive", FieldDbType = DbType.Boolean, Value = "true", CustomValueType = FieldCustomValueTypeEnum.Value },
+ }),
+ });
+
+ #region TerminationReason Fields
+ await _listFormFieldRepository.InsertManyAsync([
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Guid,
+ FieldName = "Id",
+ CaptionName = "App.Listform.ListformField.Id",
+ Width = 0,
+ ListOrderNo = 1,
+ Visible = false,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Code",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 1,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Code",
+ Width = 0,
+ ListOrderNo = 2,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ SortIndex = 1,
+ SortDirection = GridColumnOptions.SortOrderAsc,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.String,
+ FieldName = "Name",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 2,
+ EditorType2 = EditorTypes.dxTextBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.Name",
+ Width = 0,
+ ListOrderNo = 3,
+ Visible = true,
+ IsActive = true,
+
+ AllowSearch = true,
+ ValidationRuleJson = DefaultValidationRuleRequiredJson,
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ new() {
+ ListFormCode = listForm.ListFormCode,
+ CultureName = LanguageCodes.En,
+ SourceDbType = DbType.Boolean,
+ FieldName = "IsActive",
+ EditGroupOrderNo = 1,
+ EditOrderNo = 3,
+ EditorType2 = EditorTypes.dxCheckBox,
+ ColSpan = 1,
+ CaptionName = "App.Listform.ListformField.IsActive",
+ Width = 0,
+ ListOrderNo = 4,
+ Visible = true,
+ IsActive = true,
+
+ ColumnCustomizationJson = DefaultColumnCustomizationJson,
+ PermissionJson = DefaultFieldPermissionJson(listForm.Name),
+ PivotSettingsJson = DefaultPivotSettingsJson
+ },
+ ]);
+ #endregion
+ }
+ #endregion
+
#region Currency
listFormName = AppCodes.Definitions.Currency;
if (!await _listFormRepository.AnyAsync(a => a.ListFormCode == listFormName))
@@ -4377,6 +4516,7 @@ public class ListFormSeeder_Saas : IDataSeedContributor, ITransientDependency
new() { Key=3, Name="App.StaticLookup.NotificationWorker" },
new() { Key=4, Name="App.StaticLookup.SessionCleanupWorker" },
new() { Key=5, Name="App.StaticLookup.BackupWorker" },
+ new() { Key=6, Name="App.StaticLookup.ProbationReminderWorker" },
}),
}),
ValidationRuleJson = DefaultValidationRuleRequiredJson,
diff --git a/api/src/Sozsoft.Platform.DbMigrator/Migrations/PlatformIdentityDataSeeder.cs b/api/src/Sozsoft.Platform.DbMigrator/Migrations/PlatformIdentityDataSeeder.cs
index d0c00cd5..44a45891 100644
--- a/api/src/Sozsoft.Platform.DbMigrator/Migrations/PlatformIdentityDataSeeder.cs
+++ b/api/src/Sozsoft.Platform.DbMigrator/Migrations/PlatformIdentityDataSeeder.cs
@@ -150,7 +150,6 @@ public class PlatformIdentityDataSeeder : IdentityDataSeeder
adminUser.SetNationality(PlatformConsts.AbpIdentity.User.AdminNationalityDefaultValue);
adminUser.SetBloodType(PlatformConsts.AbpIdentity.User.AdminBloodTypeDefaultValue);
adminUser.SetEducationLevel(PlatformConsts.AbpIdentity.User.AdminEducationLevelDefaultValue);
- adminUser.SetGraduationSchool(PlatformConsts.AbpIdentity.User.AdminGraduationSchoolDefaultValue);
adminUser.SetHomeAddress(PlatformConsts.AbpIdentity.User.AdminHomeAddressDefaultValue);
adminUser.SetBirthDate(PlatformConsts.AbpIdentity.User.AdminBirthDateDefaultValue);
adminUser.SetBirthPlace(PlatformConsts.AbpIdentity.User.AdminBirthPlaceDefaultValue);
diff --git a/api/src/Sozsoft.Platform.Domain.Shared/Enums/TableNameEnum.cs b/api/src/Sozsoft.Platform.Domain.Shared/Enums/TableNameEnum.cs
index 0f31a1bd..ac5d114f 100644
--- a/api/src/Sozsoft.Platform.Domain.Shared/Enums/TableNameEnum.cs
+++ b/api/src/Sozsoft.Platform.Domain.Shared/Enums/TableNameEnum.cs
@@ -101,5 +101,13 @@ public enum TableNameEnum
UserWorkExperience,
UserPeriodicExamination,
UserPatientProtocol,
- UserSickLeave
+ UserSickLeave,
+ UserEducation,
+ UserLanguage,
+ UserSkill,
+ UserCertificate,
+ UserFamilyMember,
+ UserEmergencyContact,
+ UserBenefit,
+ TerminationReason
}
diff --git a/api/src/Sozsoft.Platform.Domain.Shared/Enums/WorkerTypeEnum.cs b/api/src/Sozsoft.Platform.Domain.Shared/Enums/WorkerTypeEnum.cs
index 94b5ae8e..5a759f48 100644
--- a/api/src/Sozsoft.Platform.Domain.Shared/Enums/WorkerTypeEnum.cs
+++ b/api/src/Sozsoft.Platform.Domain.Shared/Enums/WorkerTypeEnum.cs
@@ -7,5 +7,6 @@ public enum WorkerTypeEnum
NotificationWorker = 3,
SessionCleanupWorker = 4,
BackupWorker = 5,
+ ProbationReminderWorker = 6,
}
diff --git a/api/src/Sozsoft.Platform.Domain.Shared/PlatformConsts.cs b/api/src/Sozsoft.Platform.Domain.Shared/PlatformConsts.cs
index 70fb2383..8efd67f3 100644
--- a/api/src/Sozsoft.Platform.Domain.Shared/PlatformConsts.cs
+++ b/api/src/Sozsoft.Platform.Domain.Shared/PlatformConsts.cs
@@ -116,7 +116,6 @@ public static class PlatformConsts
public const string TelegramChatId = "TelegramChatId";
public const string HomeAddress = "HomeAddress";
public const string EducationLevel = "EducationLevel";
- public const string GraduationSchool = "GraduationSchool";
public const string BloodType = "BloodType";
public const string MotherHealthStatus = "MotherHealthStatus";
public const string MotherHealthNote = "MotherHealthNote";
@@ -221,6 +220,40 @@ public static class PlatformConsts
public const string MaritalStatus = "MaritalStatus";
public const string MarriageDate = "MarriageDate";
+ public const string SecondaryEmail = "SecondaryEmail";
+ public const string SecondaryPhoneNumber = "SecondaryPhoneNumber";
+ public const string MilitaryStatus = "MilitaryStatus";
+ public const string MilitaryPostponeEndDate = "MilitaryPostponeEndDate";
+ public const string IsDisabled = "IsDisabled";
+ public const string DisabilityRate = "DisabilityRate";
+ public const string DisabilityReport = "DisabilityReport";
+ public const string DisabilityReportFileName = "DisabilityReportFileName";
+ public const string PassportNo = "PassportNo";
+ public const string PassportExpiryDate = "PassportExpiryDate";
+ public const string WorkPermitNo = "WorkPermitNo";
+ public const string WorkPermitEndDate = "WorkPermitEndDate";
+
+ public const string RegistrationNo = "RegistrationNo";
+ public const string EmploymentType = "EmploymentType";
+ public const string ContractType = "ContractType";
+ public const string ContractEndDate = "ContractEndDate";
+ public const string ProbationEndDate = "ProbationEndDate";
+ public const string SeniorityStartDate = "SeniorityStartDate";
+ public const string TerminationReasonId = "TerminationReasonId";
+ public const string TerminationNote = "TerminationNote";
+ public const string ShiftId = "ShiftId";
+ public const string PdksCardNo = "PdksCardNo";
+ public const string DrivingLicenseClass = "DrivingLicenseClass";
+ public const string DrivingLicenseNo = "DrivingLicenseNo";
+ public const string DrivingLicenseIssueDate = "DrivingLicenseIssueDate";
+ public const string DrivingLicenseExpiryDate = "DrivingLicenseExpiryDate";
+
+ public const string BankName = "BankName";
+ public const string Iban = "Iban";
+ public const string SalaryType = "SalaryType";
+ public const string GrossSalary = "GrossSalary";
+ public const string SalaryCurrency = "SalaryCurrency";
+
public const string UserLockedOutMessage = GroupName + ".UserLockedOutMessage";
public const string InvalidUserNameOrPassword = GroupName + ".InvalidUserNameOrPassword";
public const string ResendEmailConfirmedError = GroupName + ".ResendEmailConfirmedError";
@@ -252,7 +285,6 @@ public static class PlatformConsts
public const string AdminNationalityDefaultValue = "Türkiye";
public const string AdminBloodTypeDefaultValue = "B Rh+";
public const string AdminEducationLevelDefaultValue = "Yüksek Lisans";
- public const string AdminGraduationSchoolDefaultValue = "Boğaziçi Üniversitesi";
public const string AdminHomeAddressDefaultValue = "İstanbul, Türkiye";
public static readonly DateTime AdminBirthDateDefaultValue = new(1981, 8, 27);
public const string AdminBirthPlaceDefaultValue = "Kadıköy, İstanbul";
@@ -473,7 +505,8 @@ public static class PlatformConsts
public static class Intranet
{
- public const string Default = Prefix.App + ".Intranet";
+ // Intranet Hr modulundedir; kod modul kokunu tasir (tablo Hr_T_*, yetki App.Hr grubu).
+ public const string Default = Prefix.App + ".Hr.Intranet";
public const string Announcement = Default + ".Announcement";
@@ -503,6 +536,7 @@ public static class PlatformConsts
public const string Country = Default + ".Country";
public const string City = Default + ".City";
public const string District = Default + ".District";
+ public const string TerminationReason = Default + ".TerminationReason";
public const string Sector = Default + ".Sector";
public const string UomCategory = Default + ".UomCategory";
@@ -704,6 +738,13 @@ public static class PlatformConsts
public const string UserPeriodicExamination = Default + ".UserPeriodicExamination";
public const string UserPatientProtocol = Default + ".UserPatientProtocol";
public const string UserSickLeave = Default + ".UserSickLeave";
+ public const string UserEducation = Default + ".UserEducation";
+ public const string UserLanguage = Default + ".UserLanguage";
+ public const string UserSkill = Default + ".UserSkill";
+ public const string UserCertificate = Default + ".UserCertificate";
+ public const string UserFamilyMember = Default + ".UserFamilyMember";
+ public const string UserEmergencyContact = Default + ".UserEmergencyContact";
+ public const string UserBenefit = Default + ".UserBenefit";
}
public static class Reports
diff --git a/api/src/Sozsoft.Platform.Domain.Shared/TableNameResolver.cs b/api/src/Sozsoft.Platform.Domain.Shared/TableNameResolver.cs
index 9f4641f7..8571c056 100644
--- a/api/src/Sozsoft.Platform.Domain.Shared/TableNameResolver.cs
+++ b/api/src/Sozsoft.Platform.Domain.Shared/TableNameResolver.cs
@@ -23,6 +23,7 @@ public static class TableNameResolver
{ nameof(TableNameEnum.Country), (TablePrefix.PlatformByName, MenuPrefix.Sas) },
{ nameof(TableNameEnum.City), (TablePrefix.PlatformByName, MenuPrefix.Sas) },
{ nameof(TableNameEnum.District), (TablePrefix.PlatformByName, MenuPrefix.Sas) },
+ { nameof(TableNameEnum.TerminationReason), (TablePrefix.PlatformByName, MenuPrefix.Sas) },
{ nameof(TableNameEnum.Branch), (TablePrefix.TenantByName, MenuPrefix.Sas) },
{ nameof(TableNameEnum.BranchUsers), (TablePrefix.TenantByName, MenuPrefix.Sas) },
{ nameof(TableNameEnum.SettingDefinition), (TablePrefix.PlatformByName, MenuPrefix.Sas) },
@@ -87,6 +88,13 @@ public static class TableNameResolver
{ nameof(TableNameEnum.UserPeriodicExamination), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.UserPatientProtocol), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.UserSickLeave), (TablePrefix.TenantByName, MenuPrefix.Administration) },
+ { nameof(TableNameEnum.UserEducation), (TablePrefix.TenantByName, MenuPrefix.Administration) },
+ { nameof(TableNameEnum.UserLanguage), (TablePrefix.TenantByName, MenuPrefix.Administration) },
+ { nameof(TableNameEnum.UserSkill), (TablePrefix.TenantByName, MenuPrefix.Administration) },
+ { nameof(TableNameEnum.UserCertificate), (TablePrefix.TenantByName, MenuPrefix.Administration) },
+ { nameof(TableNameEnum.UserFamilyMember), (TablePrefix.TenantByName, MenuPrefix.Administration) },
+ { nameof(TableNameEnum.UserEmergencyContact), (TablePrefix.TenantByName, MenuPrefix.Administration) },
+ { nameof(TableNameEnum.UserBenefit), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.NotificationTemplate), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.NotificationType), (TablePrefix.TenantByName, MenuPrefix.Administration) },
{ nameof(TableNameEnum.NotificationRule), (TablePrefix.TenantByName, MenuPrefix.Administration) },
@@ -94,28 +102,28 @@ public static class TableNameResolver
// 🔹 INTRANET TABLOLARI
{ nameof(TableNameEnum.IntranetWidget), (TablePrefix.TenantByName, MenuPrefix.Sas) },
- { nameof(TableNameEnum.Announcement), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.AnnouncementComment), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.AnnouncementLike), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.Survey), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SurveyQuestion), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SurveyQuestionOption), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SurveyResponse), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SurveyAnswer), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SocialPost), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SocialLocation), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SocialMedia), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SocialPollOption), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SocialComment), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.SocialLike), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.EventLike), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.EventCategory), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.EventType), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.Event), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.EventPhoto), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.EventComment), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.MessengerConversation), (TablePrefix.TenantByName, MenuPrefix.Administration) },
- { nameof(TableNameEnum.MessengerConversationMessage), (TablePrefix.TenantByName, MenuPrefix.Administration) },
+ { nameof(TableNameEnum.Announcement), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.AnnouncementComment), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.AnnouncementLike), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.Survey), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SurveyQuestion), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SurveyQuestionOption), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SurveyResponse), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SurveyAnswer), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SocialPost), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SocialLocation), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SocialMedia), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SocialPollOption), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SocialComment), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.SocialLike), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.EventLike), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.EventCategory), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.EventType), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.Event), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.EventPhoto), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.EventComment), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.MessengerConversation), (TablePrefix.TenantByName, MenuPrefix.Hr) },
+ { nameof(TableNameEnum.MessengerConversationMessage), (TablePrefix.TenantByName, MenuPrefix.Hr) },
};
diff --git a/api/src/Sozsoft.Platform.Domain/BackgroundWorkers/PlatformBackgroundWorker.cs b/api/src/Sozsoft.Platform.Domain/BackgroundWorkers/PlatformBackgroundWorker.cs
index 1d5a43f2..4b8f8f88 100644
--- a/api/src/Sozsoft.Platform.Domain/BackgroundWorkers/PlatformBackgroundWorker.cs
+++ b/api/src/Sozsoft.Platform.Domain/BackgroundWorkers/PlatformBackgroundWorker.cs
@@ -133,6 +133,10 @@ public class PlatformBackgroundWorker : PlatformDomainService, IPlatformBackgrou
{
await LazyServiceProvider.GetRequiredService().StartAsync(cancellationToken);
}
+ else if (Worker.WorkerType == WorkerTypeEnum.ProbationReminderWorker)
+ {
+ await LazyServiceProvider.GetRequiredService().StartAsync(cancellationToken);
+ }
// Call AfterSp
if (!Worker.AfterSp.IsNullOrWhiteSpace())
diff --git a/api/src/Sozsoft.Platform.Domain/BackgroundWorkers/ProbationReminderWorker.cs b/api/src/Sozsoft.Platform.Domain/BackgroundWorkers/ProbationReminderWorker.cs
new file mode 100644
index 00000000..b3634467
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Domain/BackgroundWorkers/ProbationReminderWorker.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.Localization;
+using Microsoft.Extensions.Logging;
+using Sozsoft.Notifications.Domain;
+using Sozsoft.Notifications.Entities;
+using Sozsoft.Platform.Extensions;
+using Sozsoft.Platform.Localization;
+using Volo.Abp.DependencyInjection;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.Identity;
+using Volo.Abp.Timing;
+
+namespace Sozsoft.Platform.BackgroundWorkers;
+
+///
+/// Deneme suresi biten calisanlar icin hatirlatma. Gunluk calisir ve bitisine tam
+/// gun kalan her calisan icin bildirim tipinin kurallarini isletir;
+/// alici ve kanal kuraldan gelir, boylece kimin haberdar olacagi ekrandan degistirilir.
+/// Gun esitligi aranir, aralik degil: is gunde bir kez calistigi icin ayni calisan icin tek
+/// bildirim uretilir.
+///
+public class ProbationReminderWorker(
+ IReadOnlyRepository userRepository,
+ IReadOnlyRepository notificationTypeRepository,
+ INotificationManager notificationManager,
+ IStringLocalizer localizer,
+ IClock clock,
+ ILogger logger) : ITransientDependency
+{
+ public const string NotificationTypeName = "DenemeSuresiBitiyor";
+ public const int ReminderDays = 15;
+
+ public async Task StartAsync(CancellationToken cancellationToken = default)
+ {
+ var notificationType = await notificationTypeRepository.FirstOrDefaultAsync(
+ a => a.Name == NotificationTypeName, cancellationToken);
+
+ // Tip kiraciya aittir; silinmis ya da hic kopyalanmamissa hatirlatma kapatilmis sayilir.
+ if (notificationType is null)
+ {
+ logger.LogInformation("Notification type {Name} not found, probation reminder skipped.", NotificationTypeName);
+ return;
+ }
+
+ var targetDate = clock.Now.Date.AddDays(ReminderDays);
+ var users = await userRepository.GetListAsync(a => a.IsActive, cancellationToken: cancellationToken);
+
+ foreach (var user in users.Where(u => u.GetProbationEndDate()?.Date == targetDate && u.GetTerminationDate() is null))
+ {
+ var message = localizer["App.Notifications.ProbationEnding", $"{user.Name} {user.Surname}".Trim(), targetDate.ToString("dd.MM.yyyy")];
+ await notificationManager.SendNotificationAsync(notificationType.Id, message);
+ }
+ }
+}
diff --git a/api/src/Sozsoft.Platform.Domain/Data/SeedConsts.cs b/api/src/Sozsoft.Platform.Domain/Data/SeedConsts.cs
index b318c92e..bec74065 100644
--- a/api/src/Sozsoft.Platform.Domain/Data/SeedConsts.cs
+++ b/api/src/Sozsoft.Platform.Domain/Data/SeedConsts.cs
@@ -325,7 +325,8 @@ public static class SeedConsts
public static class Intranet
{
- public const string Default = Prefix.App + ".Intranet";
+ // Intranet Hr modulundedir; kod modul kokunu tasir (tablo Hr_T_*, yetki App.Hr grubu).
+ public const string Default = Prefix.App + ".Hr.Intranet";
public const string Announcement = Default + ".Announcement";
public const string AnnouncementLike = Announcement + ".AnnouncementLike";
@@ -364,6 +365,7 @@ public static class SeedConsts
public const string Country = Default + ".Country";
public const string City = Default + ".City";
public const string District = Default + ".District";
+ public const string TerminationReason = Default + ".TerminationReason";
public const string Sector = Default + ".Sector";
public const string UomCategory = Default + ".UomCategory";
@@ -498,6 +500,13 @@ public static class SeedConsts
public const string UserPeriodicExamination = Default + ".UserPeriodicExamination";
public const string UserPatientProtocol = Default + ".UserPatientProtocol";
public const string UserSickLeave = Default + ".UserSickLeave";
+ public const string UserEducation = Default + ".UserEducation";
+ public const string UserLanguage = Default + ".UserLanguage";
+ public const string UserSkill = Default + ".UserSkill";
+ public const string UserCertificate = Default + ".UserCertificate";
+ public const string UserFamilyMember = Default + ".UserFamilyMember";
+ public const string UserEmergencyContact = Default + ".UserEmergencyContact";
+ public const string UserBenefit = Default + ".UserBenefit";
}
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Host/Definitions/TerminationReason.cs b/api/src/Sozsoft.Platform.Domain/Entities/Host/Definitions/TerminationReason.cs
new file mode 100644
index 00000000..30c73409
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Domain/Entities/Host/Definitions/TerminationReason.cs
@@ -0,0 +1,15 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+
+namespace Sozsoft.Platform.Entities;
+
+///
+/// SGK isten cikis kodlari. Kodlar mevzuatla belirlendigi ve butun kiracilarda ayni oldugu icin
+/// tanim host tablosundadir; kullanicinin TerminationReasonId alani buraya baglanir.
+///
+public class TerminationReason : FullAuditedEntity
+{
+ public string Code { get; set; }
+ public string Name { get; set; }
+ public bool IsActive { get; set; }
+}
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/IntranetWidget.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/IntranetWidget.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/IntranetWidget.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/IntranetWidget.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserBenefit.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserBenefit.cs
new file mode 100644
index 00000000..d6c1372f
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserBenefit.cs
@@ -0,0 +1,23 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.MultiTenancy;
+
+namespace Sozsoft.Platform.Entities;
+
+///
+/// Kullaniciya taninan yan haklar (yemek, yol, ozel saglik sigortasi...). Financial sekmesinde
+/// ucret bilgisinin altinda listelenir.
+///
+public class UserBenefit : FullAuditedEntity, IMultiTenant
+{
+ public Guid? TenantId { get; set; }
+
+ public Guid UserId { get; set; }
+ public string BenefitType { get; set; }
+ public decimal? Amount { get; set; }
+ public DateTime? StartDate { get; set; }
+ public DateTime? EndDate { get; set; }
+ public string Note { get; set; }
+
+ Guid? IMultiTenant.TenantId => TenantId;
+}
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserCertificate.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserCertificate.cs
new file mode 100644
index 00000000..0a854c29
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserCertificate.cs
@@ -0,0 +1,24 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.MultiTenancy;
+
+namespace Sozsoft.Platform.Entities;
+
+///
+/// Kullanicinin mesleki yeterlilik belgeleri. Belge adi Hr_T_Certificate tanimindan gelir; o tablo
+/// low-code oldugu icin EF iliskisi kurulmaz, baglanti ekran lookup'iyla saglanir.
+///
+public class UserCertificate : FullAuditedEntity, IMultiTenant
+{
+ public Guid? TenantId { get; set; }
+
+ public Guid UserId { get; set; }
+ public Guid CertificateId { get; set; }
+ public string CertificateNo { get; set; }
+ public string IssuedBy { get; set; }
+ public DateTime? IssueDate { get; set; }
+ public DateTime? ExpiryDate { get; set; }
+ public string Note { get; set; }
+
+ Guid? IMultiTenant.TenantId => TenantId;
+}
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserEducation.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserEducation.cs
new file mode 100644
index 00000000..2dab4777
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserEducation.cs
@@ -0,0 +1,24 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.MultiTenancy;
+
+namespace Sozsoft.Platform.Entities;
+
+///
+/// Kullanicinin okudugu okullar. Tek bir mezuniyet alani birden cok okulu tasiyamadigi icin
+/// egitim gecmisi ayri tabloda tutulur; kullanici detayindaki Education & Skills sekmesinde listelenir.
+///
+public class UserEducation : FullAuditedEntity, IMultiTenant
+{
+ public Guid? TenantId { get; set; }
+
+ public Guid UserId { get; set; }
+ public string EducationLevel { get; set; }
+ public string SchoolName { get; set; }
+ public string Department { get; set; }
+ public DateTime? StartDate { get; set; }
+ public DateTime? EndDate { get; set; }
+ public bool IsGraduated { get; set; }
+
+ Guid? IMultiTenant.TenantId => TenantId;
+}
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserEmergencyContact.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserEmergencyContact.cs
new file mode 100644
index 00000000..5486dbbd
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserEmergencyContact.cs
@@ -0,0 +1,20 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.MultiTenancy;
+
+namespace Sozsoft.Platform.Entities;
+
+///
+/// Acil durumda aranacak kisiler. Aile uyesi olmak zorunda olmadigi icin aile tablosundan ayridir.
+///
+public class UserEmergencyContact : FullAuditedEntity, IMultiTenant
+{
+ public Guid? TenantId { get; set; }
+
+ public Guid UserId { get; set; }
+ public string Name { get; set; }
+ public string Relationship { get; set; }
+ public string PhoneNumber { get; set; }
+
+ Guid? IMultiTenant.TenantId => TenantId;
+}
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserFamilyMember.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserFamilyMember.cs
new file mode 100644
index 00000000..92839366
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserFamilyMember.cs
@@ -0,0 +1,26 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.MultiTenancy;
+
+namespace Sozsoft.Platform.Entities;
+
+///
+/// Kullanicinin esi ve cocuklari. Sigorta ve yan hak kapsami kisi bazinda isaretlenir; bordro ve
+/// ozel saglik sigortasi listeleri bu bayraklardan uretilir.
+///
+public class UserFamilyMember : FullAuditedEntity, IMultiTenant
+{
+ public Guid? TenantId { get; set; }
+
+ public Guid UserId { get; set; }
+ public string Relationship { get; set; }
+ public string Name { get; set; }
+ public string Surname { get; set; }
+ public string IdentityNumber { get; set; }
+ public DateTime? BirthDate { get; set; }
+ public string EmploymentStatus { get; set; }
+ public bool IsInsuranceCovered { get; set; }
+ public bool IsBenefitCovered { get; set; }
+
+ Guid? IMultiTenant.TenantId => TenantId;
+}
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserLanguage.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserLanguage.cs
new file mode 100644
index 00000000..b65e276b
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserLanguage.cs
@@ -0,0 +1,21 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.MultiTenancy;
+
+namespace Sozsoft.Platform.Entities;
+
+///
+/// Kullanicinin bildigi yabanci diller. Dil tanimindan, seviye o dilin yetenek
+/// tipine ait kayitlarindan (A1-C2) secilir.
+///
+public class UserLanguage : FullAuditedEntity, IMultiTenant
+{
+ public Guid? TenantId { get; set; }
+
+ public Guid UserId { get; set; }
+ public Guid SkillId { get; set; }
+ public Guid? SkillLevelId { get; set; }
+ public string Note { get; set; }
+
+ Guid? IMultiTenant.TenantId => TenantId;
+}
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserSkill.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserSkill.cs
new file mode 100644
index 00000000..f12af1c6
--- /dev/null
+++ b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/UserSkill.cs
@@ -0,0 +1,21 @@
+using System;
+using Volo.Abp.Domain.Entities.Auditing;
+using Volo.Abp.MultiTenancy;
+
+namespace Sozsoft.Platform.Entities;
+
+///
+/// Kullanicinin yetenekleri. Yetenek tanimindan secilir; seviye tipten bagimsiz
+/// 1-5 olcegindedir, boylece farkli tipteki yetenekler ayni olcekte karsilastirilir.
+///
+public class UserSkill : FullAuditedEntity, IMultiTenant
+{
+ public Guid? TenantId { get; set; }
+
+ public Guid UserId { get; set; }
+ public Guid SkillId { get; set; }
+ public int Level { get; set; }
+ public string Note { get; set; }
+
+ Guid? IMultiTenant.TenantId => TenantId;
+}
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/Announcement.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/Announcement.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/Announcement.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/Announcement.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/AnnouncementComment.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/AnnouncementComment.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/AnnouncementComment.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/AnnouncementComment.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/AnnouncementLike.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/AnnouncementLike.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/AnnouncementLike.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/AnnouncementLike.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/Event.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/Event.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/Event.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/Event.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/EventCategory.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/EventCategory.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/EventCategory.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/EventCategory.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/EventComment.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/EventComment.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/EventComment.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/EventComment.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/EventLike.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/EventLike.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/EventLike.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/EventLike.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/EventType.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/EventType.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/EventType.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/EventType.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/SocialPost.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/SocialPost.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/SocialPost.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/SocialPost.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/Survey.cs b/api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/Survey.cs
similarity index 100%
rename from api/src/Sozsoft.Platform.Domain/Entities/Tenant/Administration/Intranet/Survey.cs
rename to api/src/Sozsoft.Platform.Domain/Entities/Tenant/Hr/Intranet/Survey.cs
diff --git a/api/src/Sozsoft.Platform.Domain/Extensions/AbpIdentityUserExtensions.cs b/api/src/Sozsoft.Platform.Domain/Extensions/AbpIdentityUserExtensions.cs
index 86d1c669..e556384b 100644
--- a/api/src/Sozsoft.Platform.Domain/Extensions/AbpIdentityUserExtensions.cs
+++ b/api/src/Sozsoft.Platform.Domain/Extensions/AbpIdentityUserExtensions.cs
@@ -331,16 +331,6 @@ public static class AbpIdentityUserExtensions
return user.GetProperty(PlatformConsts.AbpIdentity.User.EducationLevel);
}
- //GraduationSchool
- public static void SetGraduationSchool(this IdentityUser user, string value)
- {
- user.SetProperty(PlatformConsts.AbpIdentity.User.GraduationSchool, value);
- }
- public static string GetGraduationSchool(this IdentityUser user)
- {
- return user.GetProperty(PlatformConsts.AbpIdentity.User.GraduationSchool);
- }
-
//BloodType
public static void SetBloodType(this IdentityUser user, string value)
{
@@ -1110,5 +1100,314 @@ public static class AbpIdentityUserExtensions
{
return user.GetProperty(PlatformConsts.AbpIdentity.User.ShiftNightDoctorId);
}
-}
+ //SecondaryEmail
+ public static void SetSecondaryEmail(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.SecondaryEmail, value);
+ }
+ public static string GetSecondaryEmail(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.SecondaryEmail);
+ }
+
+ //SecondaryPhoneNumber
+ public static void SetSecondaryPhoneNumber(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.SecondaryPhoneNumber, value);
+ }
+ public static string GetSecondaryPhoneNumber(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.SecondaryPhoneNumber);
+ }
+
+ //MilitaryStatus
+ public static void SetMilitaryStatus(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.MilitaryStatus, value);
+ }
+ public static string GetMilitaryStatus(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.MilitaryStatus);
+ }
+
+ //MilitaryPostponeEndDate
+ public static void SetMilitaryPostponeEndDate(this IdentityUser user, DateTime? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.MilitaryPostponeEndDate, value);
+ }
+ public static DateTime? GetMilitaryPostponeEndDate(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.MilitaryPostponeEndDate);
+ }
+
+ //IsDisabled
+ public static void SetIsDisabled(this IdentityUser user, bool value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.IsDisabled, value);
+ }
+ public static bool GetIsDisabled(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.IsDisabled);
+ }
+
+ //DisabilityRate
+ public static void SetDisabilityRate(this IdentityUser user, int? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.DisabilityRate, value);
+ }
+ public static int? GetDisabilityRate(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.DisabilityRate);
+ }
+
+ //DisabilityReport
+ public static void SetDisabilityReport(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.DisabilityReport, value);
+ }
+ public static string GetDisabilityReport(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.DisabilityReport);
+ }
+
+ //DisabilityReportFileName
+ public static void SetDisabilityReportFileName(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.DisabilityReportFileName, value);
+ }
+ public static string GetDisabilityReportFileName(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.DisabilityReportFileName);
+ }
+
+ //PassportNo
+ public static void SetPassportNo(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.PassportNo, value);
+ }
+ public static string GetPassportNo(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.PassportNo);
+ }
+
+ //PassportExpiryDate
+ public static void SetPassportExpiryDate(this IdentityUser user, DateTime? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.PassportExpiryDate, value);
+ }
+ public static DateTime? GetPassportExpiryDate(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.PassportExpiryDate);
+ }
+
+ //WorkPermitNo
+ public static void SetWorkPermitNo(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.WorkPermitNo, value);
+ }
+ public static string GetWorkPermitNo(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.WorkPermitNo);
+ }
+
+ //WorkPermitEndDate
+ public static void SetWorkPermitEndDate(this IdentityUser user, DateTime? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.WorkPermitEndDate, value);
+ }
+ public static DateTime? GetWorkPermitEndDate(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.WorkPermitEndDate);
+ }
+
+ //RegistrationNo
+ public static void SetRegistrationNo(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.RegistrationNo, value);
+ }
+ public static string GetRegistrationNo(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.RegistrationNo);
+ }
+
+ //EmploymentType
+ public static void SetEmploymentType(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.EmploymentType, value);
+ }
+ public static string GetEmploymentType(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.EmploymentType);
+ }
+
+ //ContractType
+ public static void SetContractType(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.ContractType, value);
+ }
+ public static string GetContractType(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.ContractType);
+ }
+
+ //ContractEndDate
+ public static void SetContractEndDate(this IdentityUser user, DateTime? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.ContractEndDate, value);
+ }
+ public static DateTime? GetContractEndDate(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.ContractEndDate);
+ }
+
+ //ProbationEndDate
+ public static void SetProbationEndDate(this IdentityUser user, DateTime? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.ProbationEndDate, value);
+ }
+ public static DateTime? GetProbationEndDate(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.ProbationEndDate);
+ }
+
+ //SeniorityStartDate
+ public static void SetSeniorityStartDate(this IdentityUser user, DateTime? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.SeniorityStartDate, value);
+ }
+ public static DateTime? GetSeniorityStartDate(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.SeniorityStartDate);
+ }
+
+ //TerminationReasonId
+ public static void SetTerminationReasonId(this IdentityUser user, Guid? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.TerminationReasonId, value);
+ }
+ public static Guid? GetTerminationReasonId(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.TerminationReasonId);
+ }
+
+ //TerminationNote
+ public static void SetTerminationNote(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.TerminationNote, value);
+ }
+ public static string GetTerminationNote(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.TerminationNote);
+ }
+
+ //ShiftId
+ public static void SetShiftId(this IdentityUser user, Guid? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.ShiftId, value);
+ }
+ public static Guid? GetShiftId(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.ShiftId);
+ }
+
+ //PdksCardNo
+ public static void SetPdksCardNo(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.PdksCardNo, value);
+ }
+ public static string GetPdksCardNo(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.PdksCardNo);
+ }
+
+ //DrivingLicenseClass
+ public static void SetDrivingLicenseClass(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.DrivingLicenseClass, value);
+ }
+ public static string GetDrivingLicenseClass(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.DrivingLicenseClass);
+ }
+
+ //DrivingLicenseNo
+ public static void SetDrivingLicenseNo(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.DrivingLicenseNo, value);
+ }
+ public static string GetDrivingLicenseNo(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.DrivingLicenseNo);
+ }
+
+ //DrivingLicenseIssueDate
+ public static void SetDrivingLicenseIssueDate(this IdentityUser user, DateTime? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.DrivingLicenseIssueDate, value);
+ }
+ public static DateTime? GetDrivingLicenseIssueDate(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.DrivingLicenseIssueDate);
+ }
+
+ //DrivingLicenseExpiryDate
+ public static void SetDrivingLicenseExpiryDate(this IdentityUser user, DateTime? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.DrivingLicenseExpiryDate, value);
+ }
+ public static DateTime? GetDrivingLicenseExpiryDate(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.DrivingLicenseExpiryDate);
+ }
+
+ //BankName
+ public static void SetBankName(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.BankName, value);
+ }
+ public static string GetBankName(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.BankName);
+ }
+
+ //Iban
+ public static void SetIban(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.Iban, value);
+ }
+ public static string GetIban(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.Iban);
+ }
+
+ //SalaryType
+ public static void SetSalaryType(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.SalaryType, value);
+ }
+ public static string GetSalaryType(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.SalaryType);
+ }
+
+ //GrossSalary
+ public static void SetGrossSalary(this IdentityUser user, decimal? value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.GrossSalary, value);
+ }
+ public static decimal? GetGrossSalary(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.GrossSalary);
+ }
+
+ //SalaryCurrency
+ public static void SetSalaryCurrency(this IdentityUser user, string value)
+ {
+ user.SetProperty(PlatformConsts.AbpIdentity.User.SalaryCurrency, value);
+ }
+ public static string GetSalaryCurrency(this IdentityUser user)
+ {
+ return user.GetProperty(PlatformConsts.AbpIdentity.User.SalaryCurrency);
+ }
+}
diff --git a/api/src/Sozsoft.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs b/api/src/Sozsoft.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs
index 58659b1c..a87984aa 100644
--- a/api/src/Sozsoft.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs
+++ b/api/src/Sozsoft.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformDbContext.cs
@@ -73,6 +73,7 @@ public class PlatformDbContext :
public DbSet Activities { get; set; }
public DbSet IpRestrictions { get; set; }
public DbSet ContactTitles { get; set; }
+ public DbSet TerminationReasons { get; set; }
public DbSet Currencies { get; set; }
public DbSet CountryGroups { get; set; }
public DbSet Countries { get; set; }
@@ -103,6 +104,13 @@ public class PlatformDbContext :
public DbSet UserPeriodicExaminations { get; set; }
public DbSet UserPatientProtocols { get; set; }
public DbSet UserSickLeaves { get; set; }
+ public DbSet UserEducations { get; set; }
+ public DbSet UserLanguages { get; set; }
+ public DbSet UserSkills { get; set; }
+ public DbSet UserCertificates { get; set; }
+ public DbSet UserFamilyMembers { get; set; }
+ public DbSet UserEmergencyContacts { get; set; }
+ public DbSet UserBenefits { get; set; }
public DbSet SkillTypes { get; set; }
public DbSet DevRequests { get; set; }
public DbSet Agendas { get; set; }
@@ -833,6 +841,116 @@ public class PlatformDbContext :
b.HasIndex(x => new { x.TenantId, x.UserId });
});
+ builder.Entity(b =>
+ {
+ b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserEducation)), Prefix.DbSchema);
+ b.ConfigureByConvention();
+
+ b.Property(x => x.UserId).IsRequired();
+ b.Property(x => x.EducationLevel).IsRequired().HasMaxLength(32);
+ b.Property(x => x.SchoolName).IsRequired().HasMaxLength(256);
+ b.Property(x => x.Department).IsRequired(false).HasMaxLength(256);
+ b.Property(x => x.IsGraduated).HasDefaultValue(true);
+
+ b.HasIndex(x => new { x.TenantId, x.UserId });
+ });
+
+ builder.Entity(b =>
+ {
+ b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserLanguage)), Prefix.DbSchema);
+ b.ConfigureByConvention();
+
+ b.Property(x => x.UserId).IsRequired();
+ b.Property(x => x.SkillId).IsRequired();
+ b.Property(x => x.Note).IsRequired(false).HasMaxLength(512);
+
+ b.HasIndex(x => new { x.TenantId, x.UserId, x.SkillId }).IsUnique().HasFilter("[IsDeleted] = 0");
+
+ b.HasOne()
+ .WithMany()
+ .HasForeignKey(x => x.SkillId)
+ .OnDelete(DeleteBehavior.Restrict);
+
+ b.HasOne()
+ .WithMany()
+ .HasForeignKey(x => x.SkillLevelId)
+ .OnDelete(DeleteBehavior.Restrict);
+ });
+
+ builder.Entity(b =>
+ {
+ b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserSkill)), Prefix.DbSchema);
+ b.ConfigureByConvention();
+
+ b.Property(x => x.UserId).IsRequired();
+ b.Property(x => x.SkillId).IsRequired();
+ b.Property(x => x.Level).IsRequired();
+ b.Property(x => x.Note).IsRequired(false).HasMaxLength(512);
+
+ b.HasIndex(x => new { x.TenantId, x.UserId, x.SkillId }).IsUnique().HasFilter("[IsDeleted] = 0");
+ b.ToTable(t => t.HasCheckConstraint("CK_UserSkill_Level", "[Level] BETWEEN 1 AND 5"));
+
+ b.HasOne()
+ .WithMany()
+ .HasForeignKey(x => x.SkillId)
+ .OnDelete(DeleteBehavior.Restrict);
+ });
+
+ builder.Entity(b =>
+ {
+ b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserCertificate)), Prefix.DbSchema);
+ b.ConfigureByConvention();
+
+ b.Property(x => x.UserId).IsRequired();
+ b.Property(x => x.CertificateId).IsRequired();
+ b.Property(x => x.CertificateNo).IsRequired(false).HasMaxLength(64);
+ b.Property(x => x.IssuedBy).IsRequired(false).HasMaxLength(256);
+ b.Property(x => x.Note).IsRequired(false).HasMaxLength(512);
+
+ b.HasIndex(x => new { x.TenantId, x.UserId });
+ });
+
+ builder.Entity(b =>
+ {
+ b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserFamilyMember)), Prefix.DbSchema);
+ b.ConfigureByConvention();
+
+ b.Property(x => x.UserId).IsRequired();
+ b.Property(x => x.Relationship).IsRequired().HasMaxLength(16);
+ b.Property(x => x.Name).IsRequired().HasMaxLength(128);
+ b.Property(x => x.Surname).IsRequired(false).HasMaxLength(128);
+ b.Property(x => x.IdentityNumber).IsRequired(false).HasMaxLength(15);
+ b.Property(x => x.EmploymentStatus).IsRequired(false).HasMaxLength(16);
+
+ b.HasIndex(x => new { x.TenantId, x.UserId });
+ });
+
+ builder.Entity(b =>
+ {
+ b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserEmergencyContact)), Prefix.DbSchema);
+ b.ConfigureByConvention();
+
+ b.Property(x => x.UserId).IsRequired();
+ b.Property(x => x.Name).IsRequired().HasMaxLength(256);
+ b.Property(x => x.Relationship).IsRequired().HasMaxLength(16);
+ b.Property(x => x.PhoneNumber).IsRequired().HasMaxLength(32);
+
+ b.HasIndex(x => new { x.TenantId, x.UserId });
+ });
+
+ builder.Entity(b =>
+ {
+ b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.UserBenefit)), Prefix.DbSchema);
+ b.ConfigureByConvention();
+
+ b.Property(x => x.UserId).IsRequired();
+ b.Property(x => x.BenefitType).IsRequired().HasMaxLength(32);
+ b.Property(x => x.Amount).HasPrecision(18, 2);
+ b.Property(x => x.Note).IsRequired(false).HasMaxLength(512);
+
+ b.HasIndex(x => new { x.TenantId, x.UserId });
+ });
+
// Definitions
builder.Entity(b =>
{
@@ -855,6 +973,18 @@ public class PlatformDbContext :
b.HasIndex(x => new { x.Title }).IsUnique().HasFilter("[IsDeleted] = 0");
});
+ builder.Entity(b =>
+ {
+ b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.TerminationReason)), Prefix.DbSchema);
+ b.ConfigureByConvention();
+
+ b.Property(x => x.Code).IsRequired().HasMaxLength(8);
+ b.Property(x => x.Name).IsRequired().HasMaxLength(256);
+ b.Property(x => x.IsActive).HasDefaultValue(true);
+
+ b.HasIndex(x => new { x.Code }).IsUnique().HasFilter("[IsDeleted] = 0");
+ });
+
builder.Entity(b =>
{
b.ToTable(TableNameResolver.GetFullTableName(nameof(TableNameEnum.Currency)), Prefix.DbSchema);
diff --git a/api/src/Sozsoft.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformEfCoreEntityExtensionMappings.cs b/api/src/Sozsoft.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformEfCoreEntityExtensionMappings.cs
index d6688d38..06f8519e 100644
--- a/api/src/Sozsoft.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformEfCoreEntityExtensionMappings.cs
+++ b/api/src/Sozsoft.Platform.EntityFrameworkCore/EntityFrameworkCore/PlatformEfCoreEntityExtensionMappings.cs
@@ -310,13 +310,283 @@ public static class PlatformEfCoreEntityExtensionMappings
ObjectExtensionManager.Instance
.MapEfCoreProperty(
- PlatformConsts.AbpIdentity.User.GraduationSchool,
+ PlatformConsts.AbpIdentity.User.SecondaryEmail,
(entityBuilder, propertyBuilder) =>
{
propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
}
);
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.SecondaryPhoneNumber,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(32).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.MilitaryStatus,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.MilitaryPostponeEndDate,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.IsDisabled,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.IsRequired().HasDefaultValue(false);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.DisabilityRate,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.DisabilityReport,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.DisabilityReportFileName,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(256).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.PassportNo,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(32).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.PassportExpiryDate,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.WorkPermitNo,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(64).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.WorkPermitEndDate,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.RegistrationNo,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(32).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.EmploymentType,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.ContractType,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.ContractEndDate,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.ProbationEndDate,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.SeniorityStartDate,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.TerminationReasonId,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.TerminationNote,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(512).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.ShiftId,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.PdksCardNo,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(64).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.DrivingLicenseClass,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(64).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.DrivingLicenseNo,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(32).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.DrivingLicenseIssueDate,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.DrivingLicenseExpiryDate,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.BankName,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(128).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.Iban,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(34).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.SalaryType,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.GrossSalary,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasPrecision(18, 2).HasDefaultValue(null);
+ }
+ );
+
+ ObjectExtensionManager.Instance
+ .MapEfCoreProperty(
+ PlatformConsts.AbpIdentity.User.SalaryCurrency,
+ (entityBuilder, propertyBuilder) =>
+ {
+ propertyBuilder.HasMaxLength(8).HasDefaultValue(null);
+ }
+ );
+
ObjectExtensionManager.Instance
.MapEfCoreProperty(
PlatformConsts.AbpIdentity.User.BloodType,
diff --git a/api/src/Sozsoft.Platform.EntityFrameworkCore/Migrations/20261001063425_Initial.Designer.cs b/api/src/Sozsoft.Platform.EntityFrameworkCore/Migrations/20261002230416_Initial.Designer.cs
similarity index 93%
rename from api/src/Sozsoft.Platform.EntityFrameworkCore/Migrations/20261001063425_Initial.Designer.cs
rename to api/src/Sozsoft.Platform.EntityFrameworkCore/Migrations/20261002230416_Initial.Designer.cs
index 0e8b20c4..84462462 100644
--- a/api/src/Sozsoft.Platform.EntityFrameworkCore/Migrations/20261001063425_Initial.Designer.cs
+++ b/api/src/Sozsoft.Platform.EntityFrameworkCore/Migrations/20261002230416_Initial.Designer.cs
@@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Sozsoft.Platform.Migrations
{
[DbContext(typeof(PlatformDbContext))]
- [Migration("20261001063425_Initial")]
+ [Migration("20261002230416_Initial")]
partial class Initial
{
///
@@ -930,7 +930,7 @@ namespace Sozsoft.Platform.Migrations
.IsUnique()
.HasFilter("[IsDeleted] = 0");
- b.ToTable("Adm_T_Announcement", (string)null);
+ b.ToTable("Hr_T_Announcement", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.AnnouncementComment", b =>
@@ -992,7 +992,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("AnnouncementId");
- b.ToTable("Adm_T_AnnouncementComment", (string)null);
+ b.ToTable("Hr_T_AnnouncementComment", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.AnnouncementLike", b =>
@@ -1046,7 +1046,7 @@ namespace Sozsoft.Platform.Migrations
.IsUnique()
.HasFilter("[IsDeleted] = 0");
- b.ToTable("Adm_T_AnnouncementLike", (string)null);
+ b.ToTable("Hr_T_AnnouncementLike", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.BackgroundWorker", b =>
@@ -2727,7 +2727,7 @@ namespace Sozsoft.Platform.Migrations
.IsUnique()
.HasFilter("[IsDeleted] = 0");
- b.ToTable("Adm_T_Event", (string)null);
+ b.ToTable("Hr_T_Event", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.EventCategory", b =>
@@ -2780,7 +2780,7 @@ namespace Sozsoft.Platform.Migrations
.IsUnique()
.HasFilter("[IsDeleted] = 0");
- b.ToTable("Adm_T_EventCategory", (string)null);
+ b.ToTable("Hr_T_EventCategory", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.EventComment", b =>
@@ -2841,7 +2841,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("EventId");
- b.ToTable("Adm_T_EventComment", (string)null);
+ b.ToTable("Hr_T_EventComment", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.EventLike", b =>
@@ -2895,7 +2895,7 @@ namespace Sozsoft.Platform.Migrations
.IsUnique()
.HasFilter("[IsDeleted] = 0");
- b.ToTable("Adm_T_EventLike", (string)null);
+ b.ToTable("Hr_T_EventLike", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.EventType", b =>
@@ -2948,7 +2948,7 @@ namespace Sozsoft.Platform.Migrations
.IsUnique()
.HasFilter("[IsDeleted] = 0");
- b.ToTable("Adm_T_EventType", (string)null);
+ b.ToTable("Hr_T_EventType", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.GlobalSearch", b =>
@@ -4205,7 +4205,7 @@ namespace Sozsoft.Platform.Migrations
b.HasKey("Id");
- b.ToTable("Adm_T_MessengerConversation", (string)null);
+ b.ToTable("Hr_T_MessengerConversation", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.MessengerConversationMessage", b =>
@@ -4284,7 +4284,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("TenantId", "ConversationId", "SentAt");
- b.ToTable("Adm_T_MessengerConversationMessage", (string)null);
+ b.ToTable("Hr_T_MessengerConversationMessage", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.Module", b =>
@@ -5378,7 +5378,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("SocialPostId");
- b.ToTable("Adm_T_SocialComment", (string)null);
+ b.ToTable("Hr_T_SocialComment", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.SocialLike", b =>
@@ -5432,7 +5432,7 @@ namespace Sozsoft.Platform.Migrations
.IsUnique()
.HasFilter("[IsDeleted] = 0");
- b.ToTable("Adm_T_SocialLike", (string)null);
+ b.ToTable("Hr_T_SocialLike", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.SocialLocation", b =>
@@ -5501,7 +5501,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("SocialPostId")
.IsUnique();
- b.ToTable("Adm_T_SocialLocation", (string)null);
+ b.ToTable("Hr_T_SocialLocation", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.SocialMedia", b =>
@@ -5573,7 +5573,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("SocialPostId")
.IsUnique();
- b.ToTable("Adm_T_SocialMedia", (string)null);
+ b.ToTable("Hr_T_SocialMedia", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.SocialPollOption", b =>
@@ -5630,7 +5630,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("SocialMediaId");
- b.ToTable("Adm_T_SocialPollOption", (string)null);
+ b.ToTable("Hr_T_SocialPollOption", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.SocialPost", b =>
@@ -5696,7 +5696,7 @@ namespace Sozsoft.Platform.Migrations
b.HasKey("Id");
- b.ToTable("Adm_T_SocialPost", (string)null);
+ b.ToTable("Hr_T_SocialPost", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.Survey", b =>
@@ -5769,7 +5769,7 @@ namespace Sozsoft.Platform.Migrations
.IsUnique()
.HasFilter("[IsDeleted] = 0");
- b.ToTable("Adm_T_Survey", (string)null);
+ b.ToTable("Hr_T_Survey", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.SurveyAnswer", b =>
@@ -5833,7 +5833,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("ResponseId");
- b.ToTable("Adm_T_SurveyAnswer", (string)null);
+ b.ToTable("Hr_T_SurveyAnswer", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.SurveyQuestion", b =>
@@ -5898,7 +5898,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("SurveyId");
- b.ToTable("Adm_T_SurveyQuestion", (string)null);
+ b.ToTable("Hr_T_SurveyQuestion", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.SurveyQuestionOption", b =>
@@ -5955,7 +5955,7 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("QuestionId");
- b.ToTable("Adm_T_SurveyQuestionOption", (string)null);
+ b.ToTable("Hr_T_SurveyQuestionOption", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.SurveyResponse", b =>
@@ -6010,7 +6010,66 @@ namespace Sozsoft.Platform.Migrations
b.HasIndex("SurveyId");
- b.ToTable("Adm_T_SurveyResponse", (string)null);
+ b.ToTable("Hr_T_SurveyResponse", (string)null);
+ });
+
+ modelBuilder.Entity("Sozsoft.Platform.Entities.TerminationReason", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Code")
+ .IsRequired()
+ .HasMaxLength(8)
+ .HasColumnType("nvarchar(8)");
+
+ 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("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(256)
+ .HasColumnType("nvarchar(256)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Code")
+ .IsUnique()
+ .HasFilter("[IsDeleted] = 0");
+
+ b.ToTable("Sas_H_TerminationReason", (string)null);
});
modelBuilder.Entity("Sozsoft.Platform.Entities.Uom", b =>
@@ -6144,6 +6203,427 @@ namespace Sozsoft.Platform.Migrations
b.ToTable("Adm_T_UomCategory", (string)null);
});
+ modelBuilder.Entity("Sozsoft.Platform.Entities.UserBenefit", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("Amount")
+ .HasPrecision(18, 2)
+ .HasColumnType("decimal(18,2)");
+
+ b.Property("BenefitType")
+ .IsRequired()
+ .HasMaxLength(32)
+ .HasColumnType("nvarchar(32)");
+
+ 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("EndDate")
+ .HasColumnType("datetime2");
+
+ 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("Note")
+ .HasMaxLength(512)
+ .HasColumnType("nvarchar(512)");
+
+ b.Property("StartDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("UserId")
+ .HasColumnType("uniqueidentifier");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TenantId", "UserId");
+
+ b.ToTable("Adm_T_UserBenefit", (string)null);
+ });
+
+ modelBuilder.Entity("Sozsoft.Platform.Entities.UserCertificate", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CertificateId")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CertificateNo")
+ .HasMaxLength(64)
+ .HasColumnType("nvarchar(64)");
+
+ 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("ExpiryDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("IssueDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IssuedBy")
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("Note")
+ .HasMaxLength(512)
+ .HasColumnType("nvarchar(512)");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property("UserId")
+ .HasColumnType("uniqueidentifier");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TenantId", "UserId");
+
+ b.ToTable("Adm_T_UserCertificate", (string)null);
+ });
+
+ modelBuilder.Entity("Sozsoft.Platform.Entities.UserEducation", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uniqueidentifier");
+
+ b.Property("CreationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("CreationTime");
+
+ b.Property("CreatorId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("CreatorId");
+
+ b.Property("DeleterId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("DeleterId");
+
+ b.Property("DeletionTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("DeletionTime");
+
+ b.Property("Department")
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
+
+ b.Property("EducationLevel")
+ .IsRequired()
+ .HasMaxLength(32)
+ .HasColumnType("nvarchar(32)");
+
+ b.Property("EndDate")
+ .HasColumnType("datetime2");
+
+ b.Property("IsDeleted")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(false)
+ .HasColumnName("IsDeleted");
+
+ b.Property("IsGraduated")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bit")
+ .HasDefaultValue(true);
+
+ b.Property("LastModificationTime")
+ .HasColumnType("datetime2")
+ .HasColumnName("LastModificationTime");
+
+ b.Property("LastModifierId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("LastModifierId");
+
+ b.Property("SchoolName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("nvarchar(256)");
+
+ b.Property("StartDate")
+ .HasColumnType("datetime2");
+
+ b.Property("TenantId")
+ .HasColumnType("uniqueidentifier")
+ .HasColumnName("TenantId");
+
+ b.Property