AbpUsers tablosuna Gender eklendi
This commit is contained in:
parent
0bc44e726c
commit
54a0131d6e
22 changed files with 722 additions and 292 deletions
|
|
@ -1314,7 +1314,7 @@ ekranları ABP tablolarıdır, Licence/Dev Request host tablolarını okur.
|
|||
| **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` alanlarını taşır. |
|
||||
| **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`, `BloodType`, `Nationality`, `SskNo`…) detay ekranındadır. 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 › 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). |
|
||||
|
|
|
|||
15
.github/instructions/lowcode.instructions.md
vendored
15
.github/instructions/lowcode.instructions.md
vendored
|
|
@ -735,6 +735,21 @@ Kısa ve karar odaklı yaz; talebi tekrar anlatma.
|
|||
kopyalanıyor olsa da. Görsel base64 metin olarak saklanır; `nvarchar(512)` gibi sınırlı boy
|
||||
yazılmaz, `dxImageViewer` kullanılmaz (§4.3 editör tablosu). Çok satırlı serbest metin
|
||||
(`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`, `Nationality`, `MaritalStatus`,
|
||||
`SskNo`, `HireDate`, `DepartmentId`, `JobPositionId`, `WorkHour`, kimlik kartı alanları
|
||||
(`SerialNo`, `Province`, `District`, `FatherName`, `MotherName`…). 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
|
||||
aynı değer kümesiyle** açılır (`IdentityNumber nvarchar(15)`, `Gender nvarchar(16)` + `Male`/`Female`
|
||||
ve `App.StaticLookup.Male`/`Female` anahtarları, `EducationLevel` değerleri); `IdentityNo`,
|
||||
`E`/`K` gibi farklı ad ya da değer açılmaz, sorguda `AS` ile yeniden adlandırma ya da `CASE`
|
||||
çevirisi gerekmez. Bu kolonların hepsi `AbpIdentity.Users` ekranında alan olarak tanımlıdır
|
||||
(kişisel olanlar gizli alan) ve `describe_list AbpIdentity.Users` ile görünür. MCP şema sözlüğü
|
||||
tablo kataloğunu değil ekranların alan listesini döker: bir kolon sözlükte yoksa bu, tabloda
|
||||
olmadığı anlamına gelmez — kullanıcı bilgisi için başka tabloya gidilmez.
|
||||
**Query kaynağı** (ekran birden çok tabloyu tek sorguda birleştiriyorsa ve view tercih
|
||||
edilmediyse, §8.2): `SelectCommandType: 4`, `TableName: "Q"`, `KeyFieldName` +
|
||||
`KeyFieldDbSourceType` zorunlu (§3). Ana tablo (en dıştaki `FROM`'un ilk tablosu) `IsDeleted`
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ public class UserInfoViewModel : ExtensibleObject
|
|||
public Guid DepartmentId { get; set; }
|
||||
public Guid JobPositionId { get; set; }
|
||||
public string Nationality { get; set; }
|
||||
public string Gender { get; set; }
|
||||
public string SskNo { get; set; }
|
||||
public DateTime? HireDate { get; set; }
|
||||
public DateTime? TerminationDate { get; set; }
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ public class CreateUpdateUserInput
|
|||
public string WorkHour { get; set; }
|
||||
public string DepartmentId { get; set; }
|
||||
public string JobPositionId { get; set; }
|
||||
public string Gender { get; set; }
|
||||
public string HomeAddress { get; set; }
|
||||
public bool? IsActive { get; set; }
|
||||
public bool? LockoutEnabled { get; set; }
|
||||
public string[] RoleNames { get; set; }
|
||||
|
|
|
|||
|
|
@ -265,6 +265,7 @@ public class PlatformIdentityAppService : ApplicationService
|
|||
user.SetDepartmentId(UserInfo.DepartmentId);
|
||||
user.SetJobPositionId(UserInfo.JobPositionId);
|
||||
user.SetNationality(UserInfo.Nationality);
|
||||
user.SetGender(UserInfo.Gender);
|
||||
user.SetSskNo(UserInfo.SskNo);
|
||||
user.SetHireDate(UserInfo.HireDate);
|
||||
user.SetTerminationDate(UserInfo.TerminationDate);
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public static class UserInfoViewModelMappingExtensions
|
|||
userInfoViewModel.DepartmentId = user.GetDepartmentId();
|
||||
userInfoViewModel.JobPositionId = user.GetJobPositionId();
|
||||
userInfoViewModel.Nationality = user.GetNationality();
|
||||
userInfoViewModel.Gender = user.GetGender();
|
||||
userInfoViewModel.SskNo = user.GetSskNo();
|
||||
userInfoViewModel.HireDate = user.GetHireDate();
|
||||
userInfoViewModel.TerminationDate = user.GetTerminationDate();
|
||||
|
|
|
|||
|
|
@ -133,6 +133,8 @@ public class ListFormDynamicApiAppService : PlatformAppService, IListFormDynamic
|
|||
user.SetWorkHour(input.Data.WorkHour);
|
||||
user.SetDepartmentId(ParseGuid(input.Data.DepartmentId));
|
||||
user.SetJobPositionId(ParseGuid(input.Data.JobPositionId));
|
||||
user.SetGender(input.Data.Gender);
|
||||
user.SetHomeAddress(input.Data.HomeAddress);
|
||||
user.SetIsVerified(verify);
|
||||
user.SetUserType(input.Data.UserType);
|
||||
|
||||
|
|
@ -209,6 +211,16 @@ public class ListFormDynamicApiAppService : PlatformAppService, IListFormDynamic
|
|||
user.SetJobPositionId(ParseGuid(input.Data.JobPositionId));
|
||||
}
|
||||
|
||||
if (input.Data.Gender != null)
|
||||
{
|
||||
user.SetGender(input.Data.Gender);
|
||||
}
|
||||
|
||||
if (input.Data.HomeAddress != null)
|
||||
{
|
||||
user.SetHomeAddress(input.Data.HomeAddress);
|
||||
}
|
||||
|
||||
user.SetUserType(input.Data.UserType);
|
||||
|
||||
await SaveAvatarAsync(user, input.Data.Avatar);
|
||||
|
|
|
|||
|
|
@ -1229,6 +1229,63 @@ 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 = "Gender",
|
||||
EditGroupOrderNo = 1,
|
||||
EditOrderNo = 10,
|
||||
EditorType2 = EditorTypes.dxSelectBox,
|
||||
ColSpan = 1,
|
||||
EditorOptions = EditorOptions.ShowClearButton(),
|
||||
CaptionName = "App.Listform.ListformField.Gender",
|
||||
Width = 0,
|
||||
ListOrderNo = 10,
|
||||
Visible = true,
|
||||
IsActive = true,
|
||||
LookupJson = JsonSerializer.Serialize(new LookupDto
|
||||
{
|
||||
DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
|
||||
DisplayExpr = "name",
|
||||
ValueExpr = "key",
|
||||
LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
|
||||
new () { Key=PlatformConsts.AbpIdentity.User.GenderMale, Name="App.StaticLookup.Male" },
|
||||
new () { Key=PlatformConsts.AbpIdentity.User.GenderFemale, Name="App.StaticLookup.Female" },
|
||||
}),
|
||||
}),
|
||||
|
||||
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 = "HomeAddress",
|
||||
EditGroupOrderNo = 1,
|
||||
EditOrderNo = 11,
|
||||
EditorType2 = EditorTypes.dxTextArea,
|
||||
ColSpan = 2,
|
||||
CaptionName = "Abp.Account.HomeAddress",
|
||||
Width = 0,
|
||||
ListOrderNo = 11,
|
||||
Visible = true,
|
||||
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,
|
||||
|
|
@ -1238,12 +1295,12 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep
|
|||
SourceDbType = DbType.String,
|
||||
FieldName = "Password",
|
||||
EditGroupOrderNo = 1,
|
||||
EditOrderNo = 10,
|
||||
EditOrderNo = 12,
|
||||
EditorType2 = EditorTypes.dxTextBox,
|
||||
ColSpan = 1,
|
||||
CaptionName = "App.Listform.ListformField.Password",
|
||||
Width = 0,
|
||||
ListOrderNo = 10,
|
||||
ListOrderNo = 12,
|
||||
Visible = false,
|
||||
IsActive = false,
|
||||
|
||||
|
|
@ -1260,12 +1317,12 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep
|
|||
SourceDbType = DbType.Boolean,
|
||||
FieldName = "IsActive",
|
||||
EditGroupOrderNo = 1,
|
||||
EditOrderNo = 11,
|
||||
EditOrderNo = 13,
|
||||
EditorType2 = EditorTypes.dxCheckBox,
|
||||
ColSpan = 1,
|
||||
CaptionName = "App.Listform.ListformField.IsActive",
|
||||
Width = 0,
|
||||
ListOrderNo = 11,
|
||||
ListOrderNo = 13,
|
||||
Visible = true,
|
||||
IsActive = true,
|
||||
|
||||
|
|
@ -1282,7 +1339,7 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep
|
|||
FieldName = "IsVerified",
|
||||
CaptionName = "App.Listform.ListformField.IsVerified",
|
||||
Width = 0,
|
||||
ListOrderNo = 12,
|
||||
ListOrderNo = 14,
|
||||
Visible = true,
|
||||
IsActive = true,
|
||||
|
||||
|
|
@ -1299,7 +1356,7 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep
|
|||
FieldName = "EmailConfirmed",
|
||||
CaptionName = "App.Listform.ListformField.EmailConfirmed",
|
||||
Width = 0,
|
||||
ListOrderNo = 13,
|
||||
ListOrderNo = 15,
|
||||
Visible = true,
|
||||
IsActive = true,
|
||||
|
||||
|
|
@ -1316,7 +1373,7 @@ public class ListFormSeeder_Administration : IDataSeedContributor, ITransientDep
|
|||
FieldName = "TwoFactorEnabled",
|
||||
CaptionName = "App.Listform.ListformField.TwoFactorEnabled",
|
||||
Width = 0,
|
||||
ListOrderNo = 14,
|
||||
ListOrderNo = 16,
|
||||
Visible = true,
|
||||
IsActive = true,
|
||||
|
||||
|
|
@ -1324,6 +1381,242 @@ 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
|
||||
},
|
||||
// Kisisel bilgiler detay ekraninda duzenlenir, listede gizlidir; alan olarak tanimli
|
||||
// olmalari MCP sema sozlugunun AbpUsers kolonlarini gormesini saglar.
|
||||
new ListFormField {
|
||||
ListFormCode = listForm.ListFormCode,
|
||||
RoleId = null,
|
||||
UserId = null,
|
||||
CultureName = LanguageCodes.En,
|
||||
SourceDbType = DbType.String,
|
||||
FieldName = "IdentityNumber",
|
||||
CaptionName = "Abp.Identity.User.UserInformation.IdentityNumber",
|
||||
Width = 0,
|
||||
ListOrderNo = 17,
|
||||
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.DateTime,
|
||||
FieldName = "BirthDate",
|
||||
CaptionName = "App.Listform.ListformField.BirthDate",
|
||||
Width = 0,
|
||||
ListOrderNo = 18,
|
||||
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 = "BirthPlace",
|
||||
CaptionName = "Abp.Identity.User.UserInformation.BirthPlace",
|
||||
Width = 0,
|
||||
ListOrderNo = 19,
|
||||
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 = "EducationLevel",
|
||||
CaptionName = "Abp.Account.EducationLevel",
|
||||
Width = 0,
|
||||
ListOrderNo = 20,
|
||||
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 = "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,
|
||||
UserId = null,
|
||||
CultureName = LanguageCodes.En,
|
||||
SourceDbType = DbType.String,
|
||||
FieldName = "BloodType",
|
||||
CaptionName = "Abp.Account.BloodType",
|
||||
Width = 0,
|
||||
ListOrderNo = 22,
|
||||
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 = "Nationality",
|
||||
CaptionName = "Abp.Account.Nationality",
|
||||
Width = 0,
|
||||
ListOrderNo = 23,
|
||||
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 = "MaritalStatus",
|
||||
CaptionName = "App.Listform.ListformField.MaritalStatus",
|
||||
Width = 0,
|
||||
ListOrderNo = 24,
|
||||
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 = "FatherName",
|
||||
CaptionName = "Abp.Identity.User.UserInformation.FatherName",
|
||||
Width = 0,
|
||||
ListOrderNo = 25,
|
||||
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 = "MotherName",
|
||||
CaptionName = "Abp.Identity.User.UserInformation.MotherName",
|
||||
Width = 0,
|
||||
ListOrderNo = 26,
|
||||
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 = "SskNo",
|
||||
CaptionName = "Abp.Identity.User.UserInformation.SskNo",
|
||||
Width = 0,
|
||||
ListOrderNo = 27,
|
||||
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.DateTime,
|
||||
FieldName = "HireDate",
|
||||
CaptionName = "Abp.Identity.User.UserInformation.HireDate",
|
||||
Width = 0,
|
||||
ListOrderNo = 28,
|
||||
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.DateTime,
|
||||
FieldName = "TerminationDate",
|
||||
CaptionName = "App.Listform.ListformField.TerminationDate",
|
||||
Width = 0,
|
||||
ListOrderNo = 29,
|
||||
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
|
||||
},
|
||||
]);
|
||||
#endregion
|
||||
}
|
||||
|
|
|
|||
|
|
@ -159,6 +159,7 @@ public class PlatformIdentityDataSeeder : IdentityDataSeeder
|
|||
adminUser.SetJobPositionId(PlatformConsts.AbpIdentity.User.AdminJobPositionIdDefaultValue);
|
||||
adminUser.SetAvatar(GetAvatar(tenantId?.ToString(), adminUser.Id.ToString()));
|
||||
adminUser.SetUserType(PlatformConsts.AbpIdentity.User.InternalUserTypeDefaultValue);
|
||||
adminUser.SetGender(PlatformConsts.AbpIdentity.User.AdminGenderDefaultValue);
|
||||
|
||||
(await UserManager.CreateAsync(adminUser, adminPassword, validatePassword: false)).CheckErrors();
|
||||
result.CreatedAdminUser = true;
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ public static class PlatformConsts
|
|||
public const string GraduationSchool = "GraduationSchool";
|
||||
public const string BloodType = "BloodType";
|
||||
public const string Nationality = "Nationality";
|
||||
public const string Gender = "Gender";
|
||||
|
||||
public const string WorkHour = "WorkHour";
|
||||
public const string DepartmentId = "DepartmentId";
|
||||
|
|
@ -180,6 +181,11 @@ public static class PlatformConsts
|
|||
public static readonly DateTime AdminBirthDateDefaultValue = new(1981, 8, 27);
|
||||
public const string AdminBirthPlaceDefaultValue = "Kadıköy, İstanbul";
|
||||
public const string AdminMaritalStatusDefaultValue = "Evli";
|
||||
public const string AdminGenderDefaultValue = "Male";
|
||||
|
||||
// Cinsiyet dilden bagimsiz anahtarla saklanir; ekranda App.StaticLookup.* ile cevrilir.
|
||||
public const string GenderMale = "Male";
|
||||
public const string GenderFemale = "Female";
|
||||
|
||||
public const UserType InternalUserTypeDefaultValue = PlatformConsts.UserType.Internal;
|
||||
public const UserType ExternalUserTypeDefaultValue = PlatformConsts.UserType.External;
|
||||
|
|
|
|||
|
|
@ -111,6 +111,16 @@ public static class AbpIdentityUserExtensions
|
|||
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.Nationality);
|
||||
}
|
||||
|
||||
//Gender
|
||||
public static void SetGender(this IdentityUser user, string value)
|
||||
{
|
||||
user.SetProperty(PlatformConsts.AbpIdentity.User.Gender, value);
|
||||
}
|
||||
public static string GetGender(this IdentityUser user)
|
||||
{
|
||||
return user.GetProperty<string>(PlatformConsts.AbpIdentity.User.Gender);
|
||||
}
|
||||
|
||||
//SskNo
|
||||
public static void SetSskNo(this IdentityUser user, string value)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -110,6 +110,15 @@ public static class PlatformEfCoreEntityExtensionMappings
|
|||
}
|
||||
);
|
||||
|
||||
ObjectExtensionManager.Instance
|
||||
.MapEfCoreProperty<IdentityUser, string>(
|
||||
PlatformConsts.AbpIdentity.User.Gender,
|
||||
(entityBuilder, propertyBuilder) =>
|
||||
{
|
||||
propertyBuilder.HasMaxLength(16).HasDefaultValue(null);
|
||||
}
|
||||
);
|
||||
|
||||
ObjectExtensionManager.Instance
|
||||
.MapEfCoreProperty<IdentityUser, string>(
|
||||
PlatformConsts.AbpIdentity.User.SskNo,
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
|
|||
namespace Sozsoft.Platform.Migrations
|
||||
{
|
||||
[DbContext(typeof(PlatformDbContext))]
|
||||
[Migration("20260922201238_Initial")]
|
||||
[Migration("20260930212718_Initial")]
|
||||
partial class Initial
|
||||
{
|
||||
/// <inheritdoc />
|
||||
|
|
@ -6065,15 +6065,15 @@ namespace Sozsoft.Platform.Migrations
|
|||
.HasPrecision(18, 6)
|
||||
.HasColumnType("decimal(18,6)");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Type")
|
||||
.IsRequired()
|
||||
.HasMaxLength(32)
|
||||
.HasColumnType("nvarchar(32)");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("UomCategoryId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(128)
|
||||
|
|
@ -7808,6 +7808,10 @@ namespace Sozsoft.Platform.Migrations
|
|||
.HasMaxLength(128)
|
||||
.HasColumnType("nvarchar(128)");
|
||||
|
||||
b.Property<string>("Gender")
|
||||
.HasMaxLength(16)
|
||||
.HasColumnType("nvarchar(16)");
|
||||
|
||||
b.Property<string>("GraduationSchool")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("nvarchar(256)");
|
||||
|
|
@ -445,6 +445,7 @@ namespace Sozsoft.Platform.Migrations
|
|||
EducationLevel = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
|
||||
FamilySequenceNo = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: true),
|
||||
FatherName = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: true),
|
||||
Gender = table.Column<string>(type: "nvarchar(16)", maxLength: 16, nullable: true),
|
||||
GraduationSchool = table.Column<string>(type: "nvarchar(256)", maxLength: 256, nullable: true),
|
||||
HireDate = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
HomeAddress = table.Column<string>(type: "nvarchar(512)", maxLength: 512, nullable: true),
|
||||
|
|
@ -542,28 +543,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
table.PrimaryKey("PK_Adm_T_Announcement", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_Department",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
BranchId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
|
||||
ParentId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_Department", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Adm_T_EventCategory",
|
||||
columns: table => new
|
||||
|
|
@ -845,6 +824,26 @@ namespace Sozsoft.Platform.Migrations
|
|||
table.PrimaryKey("PK_Adm_T_Survey", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Adm_T_UomCategory",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Adm_T_UomCategory", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Adm_T_Videoroom",
|
||||
columns: table => new
|
||||
|
|
@ -907,6 +906,48 @@ namespace Sozsoft.Platform.Migrations
|
|||
table.PrimaryKey("PK_Adm_T_WorkHour", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_Department",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
BranchId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
|
||||
ParentId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_Department", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_SkillType",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_SkillType", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "OpenIddictApplications",
|
||||
columns: table => new
|
||||
|
|
@ -1756,46 +1797,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
table.PrimaryKey("PK_Sas_H_SettingDefinition", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_SkillType",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_SkillType", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Adm_T_UomCategory",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Adm_T_UomCategory", x => x.Id);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Sas_T_Branch",
|
||||
columns: table => new
|
||||
|
|
@ -2213,35 +2214,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_JobPosition",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
BranchId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
|
||||
DepartmentId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
ParentId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_JobPosition", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Hr_T_JobPosition_Hr_T_Department_DepartmentId",
|
||||
column: x => x.DepartmentId,
|
||||
principalTable: "Hr_T_Department",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Adm_T_Event",
|
||||
columns: table => new
|
||||
|
|
@ -2556,6 +2528,37 @@ namespace Sozsoft.Platform.Migrations
|
|||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Adm_T_Uom",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
UomCategoryId = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
|
||||
Type = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: false),
|
||||
Ratio = table.Column<decimal>(type: "decimal(18,6)", precision: 18, scale: 6, nullable: false),
|
||||
IsActive = table.Column<bool>(type: "bit", nullable: false),
|
||||
Rounding = table.Column<decimal>(type: "decimal(18,6)", precision: 18, scale: 6, nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Adm_T_Uom", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Adm_T_Uom_Adm_T_UomCategory_UomCategoryId",
|
||||
column: x => x.UomCategoryId,
|
||||
principalTable: "Adm_T_UomCategory",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Adm_T_VideoroomAttandance",
|
||||
columns: table => new
|
||||
|
|
@ -2660,6 +2663,91 @@ namespace Sozsoft.Platform.Migrations
|
|||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_JobPosition",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
BranchId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
|
||||
DepartmentId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
ParentId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_JobPosition", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Hr_T_JobPosition_Hr_T_Department_DepartmentId",
|
||||
column: x => x.DepartmentId,
|
||||
principalTable: "Hr_T_Department",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_Skill",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
SkillTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_Skill", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Hr_T_Skill_Hr_T_SkillType_SkillTypeId",
|
||||
column: x => x.SkillTypeId,
|
||||
principalTable: "Hr_T_SkillType",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_SkillLevel",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
SkillTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
Progress = table.Column<int>(type: "int", nullable: false, defaultValue: 0),
|
||||
IsDefault = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_SkillLevel", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Hr_T_SkillLevel_Hr_T_SkillType_SkillTypeId",
|
||||
column: x => x.SkillTypeId,
|
||||
principalTable: "Hr_T_SkillType",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "OpenIddictAuthorizations",
|
||||
columns: table => new
|
||||
|
|
@ -3034,93 +3122,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_Skill",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
SkillTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_Skill", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Hr_T_Skill_Hr_T_SkillType_SkillTypeId",
|
||||
column: x => x.SkillTypeId,
|
||||
principalTable: "Hr_T_SkillType",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Hr_T_SkillLevel",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
SkillTypeId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
Progress = table.Column<int>(type: "int", nullable: false, defaultValue: 0),
|
||||
IsDefault = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Hr_T_SkillLevel", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Hr_T_SkillLevel_Hr_T_SkillType_SkillTypeId",
|
||||
column: x => x.SkillTypeId,
|
||||
principalTable: "Hr_T_SkillType",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Cascade);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Adm_T_Uom",
|
||||
columns: table => new
|
||||
{
|
||||
Id = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
|
||||
TenantId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
UomCategoryId = table.Column<string>(type: "nvarchar(128)", maxLength: 128, nullable: false),
|
||||
Name = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
|
||||
Type = table.Column<string>(type: "nvarchar(32)", maxLength: 32, nullable: false),
|
||||
Ratio = table.Column<decimal>(type: "decimal(18,6)", precision: 18, scale: 6, nullable: false),
|
||||
IsActive = table.Column<bool>(type: "bit", nullable: false),
|
||||
Rounding = table.Column<decimal>(type: "decimal(18,6)", precision: 18, scale: 6, nullable: false),
|
||||
CreationTime = table.Column<DateTime>(type: "datetime2", nullable: false),
|
||||
CreatorId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
LastModificationTime = table.Column<DateTime>(type: "datetime2", nullable: true),
|
||||
LastModifierId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
IsDeleted = table.Column<bool>(type: "bit", nullable: false, defaultValue: false),
|
||||
DeleterId = table.Column<Guid>(type: "uniqueidentifier", nullable: true),
|
||||
DeletionTime = table.Column<DateTime>(type: "datetime2", nullable: true)
|
||||
},
|
||||
constraints: table =>
|
||||
{
|
||||
table.PrimaryKey("PK_Adm_T_Uom", x => x.Id);
|
||||
table.ForeignKey(
|
||||
name: "FK_Adm_T_Uom_Adm_T_UomCategory_UomCategoryId",
|
||||
column: x => x.UomCategoryId,
|
||||
principalTable: "Adm_T_UomCategory",
|
||||
principalColumn: "Id",
|
||||
onDelete: ReferentialAction.Restrict);
|
||||
});
|
||||
|
||||
migrationBuilder.CreateTable(
|
||||
name: "Sas_T_ForumTopic",
|
||||
columns: table => new
|
||||
|
|
@ -3807,13 +3808,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_Department_TenantId_BranchId_Name",
|
||||
table: "Hr_T_Department",
|
||||
columns: new[] { "TenantId", "BranchId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Adm_T_Event_CategoryId",
|
||||
table: "Adm_T_Event",
|
||||
|
|
@ -3864,18 +3858,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_JobPosition_DepartmentId",
|
||||
table: "Hr_T_JobPosition",
|
||||
column: "DepartmentId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_JobPosition_TenantId_Name_DepartmentId",
|
||||
table: "Hr_T_JobPosition",
|
||||
columns: new[] { "TenantId", "Name", "DepartmentId" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Adm_T_MessengerConversationMessage_ConversationId",
|
||||
table: "Adm_T_MessengerConversationMessage",
|
||||
|
|
@ -4017,6 +3999,25 @@ namespace Sozsoft.Platform.Migrations
|
|||
table: "Adm_T_SurveyResponse",
|
||||
column: "SurveyId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Adm_T_Uom_TenantId_Name_UomCategoryId",
|
||||
table: "Adm_T_Uom",
|
||||
columns: new[] { "TenantId", "Name", "UomCategoryId" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Adm_T_Uom_UomCategoryId",
|
||||
table: "Adm_T_Uom",
|
||||
column: "UomCategoryId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Adm_T_UomCategory_TenantId_Name",
|
||||
table: "Adm_T_UomCategory",
|
||||
columns: new[] { "TenantId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Adm_T_Videoroom_TenantId_BranchId_Name",
|
||||
table: "Adm_T_Videoroom",
|
||||
|
|
@ -4046,6 +4047,56 @@ namespace Sozsoft.Platform.Migrations
|
|||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_Department_TenantId_BranchId_Name",
|
||||
table: "Hr_T_Department",
|
||||
columns: new[] { "TenantId", "BranchId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_JobPosition_DepartmentId",
|
||||
table: "Hr_T_JobPosition",
|
||||
column: "DepartmentId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_JobPosition_TenantId_Name_DepartmentId",
|
||||
table: "Hr_T_JobPosition",
|
||||
columns: new[] { "TenantId", "Name", "DepartmentId" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_Skill_SkillTypeId",
|
||||
table: "Hr_T_Skill",
|
||||
column: "SkillTypeId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_Skill_TenantId_SkillTypeId_Name",
|
||||
table: "Hr_T_Skill",
|
||||
columns: new[] { "TenantId", "SkillTypeId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_SkillLevel_SkillTypeId",
|
||||
table: "Hr_T_SkillLevel",
|
||||
column: "SkillTypeId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_SkillLevel_TenantId_SkillTypeId_Name",
|
||||
table: "Hr_T_SkillLevel",
|
||||
columns: new[] { "TenantId", "SkillTypeId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_SkillType_TenantId_Name",
|
||||
table: "Hr_T_SkillType",
|
||||
columns: new[] { "TenantId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_OpenIddictApplications_ClientId",
|
||||
table: "OpenIddictApplications",
|
||||
|
|
@ -4337,56 +4388,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_Skill_SkillTypeId",
|
||||
table: "Hr_T_Skill",
|
||||
column: "SkillTypeId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_Skill_TenantId_SkillTypeId_Name",
|
||||
table: "Hr_T_Skill",
|
||||
columns: new[] { "TenantId", "SkillTypeId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_SkillLevel_SkillTypeId",
|
||||
table: "Hr_T_SkillLevel",
|
||||
column: "SkillTypeId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_SkillLevel_TenantId_SkillTypeId_Name",
|
||||
table: "Hr_T_SkillLevel",
|
||||
columns: new[] { "TenantId", "SkillTypeId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Hr_T_SkillType_TenantId_Name",
|
||||
table: "Hr_T_SkillType",
|
||||
columns: new[] { "TenantId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Adm_T_Uom_TenantId_Name_UomCategoryId",
|
||||
table: "Adm_T_Uom",
|
||||
columns: new[] { "TenantId", "Name", "UomCategoryId" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Adm_T_Uom_UomCategoryId",
|
||||
table: "Adm_T_Uom",
|
||||
column: "UomCategoryId");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Adm_T_UomCategory_TenantId_Name",
|
||||
table: "Adm_T_UomCategory",
|
||||
columns: new[] { "TenantId", "Name" },
|
||||
unique: true,
|
||||
filter: "[IsDeleted] = 0");
|
||||
|
||||
migrationBuilder.CreateIndex(
|
||||
name: "IX_Sas_T_Branch_Code",
|
||||
table: "Sas_T_Branch",
|
||||
|
|
@ -4526,9 +4527,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_IpRestriction");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_JobPosition");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_MessengerConversationMessage");
|
||||
|
||||
|
|
@ -4568,6 +4566,9 @@ namespace Sozsoft.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_SurveyQuestionOption");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_Uom");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_VideoroomAttandance");
|
||||
|
||||
|
|
@ -4580,6 +4581,15 @@ namespace Sozsoft.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_WorkHour");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_JobPosition");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_Skill");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_SkillLevel");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "OpenIddictScopes");
|
||||
|
||||
|
|
@ -4676,15 +4686,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "Sas_H_SettingDefinition");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_Skill");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_SkillLevel");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_Uom");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Sas_T_Branch");
|
||||
|
||||
|
|
@ -4721,9 +4722,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_Event");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_Department");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_MessengerConversation");
|
||||
|
||||
|
|
@ -4742,9 +4740,18 @@ namespace Sozsoft.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_SurveyQuestion");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_UomCategory");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_Videoroom");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_Department");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_SkillType");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "OpenIddictAuthorizations");
|
||||
|
||||
|
|
@ -4772,12 +4779,6 @@ namespace Sozsoft.Platform.Migrations
|
|||
migrationBuilder.DropTable(
|
||||
name: "Sas_H_Order");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Hr_T_SkillType");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Adm_T_UomCategory");
|
||||
|
||||
migrationBuilder.DropTable(
|
||||
name: "Sas_T_ForumTopic");
|
||||
|
||||
|
|
@ -6062,15 +6062,15 @@ namespace Sozsoft.Platform.Migrations
|
|||
.HasPrecision(18, 6)
|
||||
.HasColumnType("decimal(18,6)");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("Type")
|
||||
.IsRequired()
|
||||
.HasMaxLength(32)
|
||||
.HasColumnType("nvarchar(32)");
|
||||
|
||||
b.Property<Guid?>("TenantId")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasColumnName("TenantId");
|
||||
|
||||
b.Property<string>("UomCategoryId")
|
||||
.IsRequired()
|
||||
.HasMaxLength(128)
|
||||
|
|
@ -7805,6 +7805,10 @@ namespace Sozsoft.Platform.Migrations
|
|||
.HasMaxLength(128)
|
||||
.HasColumnType("nvarchar(128)");
|
||||
|
||||
b.Property<string>("Gender")
|
||||
.HasMaxLength(16)
|
||||
.HasColumnType("nvarchar(16)");
|
||||
|
||||
b.Property<string>("GraduationSchool")
|
||||
.HasMaxLength(256)
|
||||
.HasColumnType("nvarchar(256)");
|
||||
|
|
|
|||
|
|
@ -152,7 +152,8 @@ public class TenantIdentityDataSeeder : IdentityDataSeeder
|
|||
adminUser.SetJobPositionId(PlatformConsts.AbpIdentity.User.AdminJobPositionIdDefaultValue);
|
||||
adminUser.SetAvatar(GetAvatar(tenantId?.ToString(), adminUser.Id.ToString()));
|
||||
adminUser.SetUserType(PlatformConsts.AbpIdentity.User.InternalUserTypeDefaultValue);
|
||||
|
||||
adminUser.SetGender(PlatformConsts.AbpIdentity.User.AdminGenderDefaultValue);
|
||||
|
||||
(await UserManager.CreateAsync(adminUser, adminPassword, validatePassword: false)).CheckErrors();
|
||||
result.CreatedAdminUser = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -293,7 +293,9 @@ Bir çelişki varsa sıra: `ai.instructions.md` → `dotnet.instructions.md` →
|
|||
- **MCP şema araçları** → tablo/sütun bilgisi canlı katalogdan değil `Sas_H_DbTableColumn`
|
||||
sözlüğünden okunur (`IMcpSchemaDictionary`). Sözlüğün alan adları
|
||||
`dbo.Sas_H_ListFormFieldsDictionaryJson` prosedürünün ürettiği JSON ile birebir aynıdır;
|
||||
prosedür değişirse `McpDictionaryListForm`/`McpDictionaryField` de değişir.
|
||||
prosedür değişirse `McpDictionaryListForm`/`McpDictionaryField` de değişir. Sözlük tablo kataloğunu
|
||||
değil ekranların alanlarını döker: bir tablonun ekranda alan olarak tanımlanmamış kolonunu MCP göremez.
|
||||
Modelin okuması gereken kolon (ör. `AbpUsers`'ın kişisel bilgileri) ilgili ekranda gizli alan olarak durur.
|
||||
- **MCP OAuth** → bilinen sağlayıcılar (Claude, ChatGPT) seed edilmiş `Platform_Mcp` istemcisini,
|
||||
diğer MCP istemcileri `/connect/register` ile üretilen `mcp_` önekli açık onaylı istemcileri
|
||||
kullanır (`McpOAuthClientManager`; seed `McpOAuthClientDataSeedContributor`). Bilinen sağlayıcı
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -31770,6 +31770,34 @@
|
|||
"Key": "App.Listform.ListformField.Gender",
|
||||
"Value": "Cinsiyet"
|
||||
},
|
||||
{
|
||||
"Id": "8b2bfaa8-2e63-5476-acae-ea326f9758d1",
|
||||
"CultureName": "en",
|
||||
"ResourceName": "Platform",
|
||||
"Key": "App.StaticLookup.Male",
|
||||
"Value": "Male"
|
||||
},
|
||||
{
|
||||
"Id": "ce60852a-a9bb-5a91-b99d-7b4b2a35f174",
|
||||
"CultureName": "tr",
|
||||
"ResourceName": "Platform",
|
||||
"Key": "App.StaticLookup.Male",
|
||||
"Value": "Erkek"
|
||||
},
|
||||
{
|
||||
"Id": "c1265549-443f-5332-a060-6d67b23e5ac9",
|
||||
"CultureName": "en",
|
||||
"ResourceName": "Platform",
|
||||
"Key": "App.StaticLookup.Female",
|
||||
"Value": "Female"
|
||||
},
|
||||
{
|
||||
"Id": "b400d0ec-4139-51da-a9a8-2d78103b4b87",
|
||||
"CultureName": "tr",
|
||||
"ResourceName": "Platform",
|
||||
"Key": "App.StaticLookup.Female",
|
||||
"Value": "Kadın"
|
||||
},
|
||||
{
|
||||
"Id": "374919e4-2ca5-5089-8abf-c77ee44e528d",
|
||||
"CultureName": "en",
|
||||
|
|
|
|||
|
|
@ -148,6 +148,7 @@ export interface UserInfoViewModel extends ExtensibleObject {
|
|||
department?: AssignedDepartmentViewModel
|
||||
jobPositionId?: string
|
||||
nationality?: string
|
||||
gender?: string
|
||||
sskNo?: string
|
||||
hireDate?: Date | string
|
||||
terminationDate?: Date | string
|
||||
|
|
|
|||
|
|
@ -207,6 +207,12 @@ const General = () => {
|
|||
},
|
||||
]
|
||||
|
||||
// Değer dilden bağımsız anahtardır (PlatformConsts.AbpIdentity.User.Gender*).
|
||||
const genderOptions: SelectBoxOption[] = [
|
||||
{ value: 'Male', label: translate('::App.StaticLookup.Male') },
|
||||
{ value: 'Female', label: translate('::App.StaticLookup.Female') },
|
||||
]
|
||||
|
||||
const bloodTypeOptions: SelectBoxOption[] = [
|
||||
{ value: 'A Rh+', label: 'A Rh+' },
|
||||
{ value: 'A Rh-', label: 'A Rh-' },
|
||||
|
|
@ -329,6 +335,13 @@ const General = () => {
|
|||
)}
|
||||
/>
|
||||
</FormItem>
|
||||
<FormItem label={translate('::App.Listform.ListformField.Gender')}>
|
||||
<Select<SelectBoxOption>
|
||||
isDisabled
|
||||
options={genderOptions}
|
||||
value={getSelectValue(genderOptions, getProfileExtraValue('Gender'))}
|
||||
/>
|
||||
</FormItem>
|
||||
<FormItem label={translate('::Abp.Account.EducationLevel')}>
|
||||
<Select<SelectBoxOption>
|
||||
isDisabled
|
||||
|
|
|
|||
|
|
@ -443,6 +443,31 @@ function UserDetails() {
|
|||
}}
|
||||
</Field>
|
||||
</FormItem>
|
||||
<FormItem label={translate('::App.Listform.ListformField.Gender')}>
|
||||
<Field type="text" name="gender">
|
||||
{({ field, form }: FieldProps<SelectBoxOption>) => {
|
||||
const genderOptions: SelectBoxOption[] = [
|
||||
{ value: 'Male', label: translate('::App.StaticLookup.Male') },
|
||||
{
|
||||
value: 'Female',
|
||||
label: translate('::App.StaticLookup.Female'),
|
||||
},
|
||||
]
|
||||
return (
|
||||
<Select
|
||||
field={field}
|
||||
form={form}
|
||||
options={genderOptions}
|
||||
isClearable={true}
|
||||
value={genderOptions.filter((o) => o.value === values.gender)}
|
||||
onChange={(option) =>
|
||||
form.setFieldValue(field.name, option?.value ?? null)
|
||||
}
|
||||
/>
|
||||
)
|
||||
}}
|
||||
</Field>
|
||||
</FormItem>
|
||||
<FormItem label={translate('::Abp.Account.EducationLevel')}>
|
||||
<Field type="text" name="educationLevel">
|
||||
{({ field, form }: FieldProps<SelectBoxOption>) => {
|
||||
|
|
|
|||
Loading…
Reference in a new issue