SubForm ve SubList Seeder Eklendi

This commit is contained in:
Sedat Öztürk 2025-08-21 22:53:45 +03:00
parent 614be0c916
commit 643649fe77
12 changed files with 664 additions and 448 deletions

View file

@ -7157,7 +7157,6 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
IsDeleted = false, IsDeleted = false,
AllowSearch = true, AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto { LookupJson = JsonSerializer.Serialize(new LookupDto {
DataSourceType = UiLookupDataSourceTypeEnum.StaticData, DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
DisplayExpr = "name", DisplayExpr = "name",
ValueExpr = "key", ValueExpr = "key",
@ -11858,10 +11857,11 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
new() { Order=1,ColCount=1,ColSpan=2,ItemType="group", Items= new() { Order=1,ColCount=1,ColSpan=2,ItemType="group", Items=
[ [
new EditingFormItemDto { Order = 1, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order = 1, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "Type", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order = 2, DataField = "Type", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxSelectBox },
new EditingFormItemDto { Order = 3, DataField = "Ratio", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxNumberBox }, new EditingFormItemDto { Order = 3, DataField = "Ratio", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 4, DataField = "Rounding", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxNumberBox }, new EditingFormItemDto { Order = 4, DataField = "Rounding", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 5, DataField = "IsActive", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxCheckBox }, new EditingFormItemDto { Order = 5, DataField = "IsActive", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxCheckBox },
new EditingFormItemDto { Order = 6, DataField = "UomCategoryId", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxSelectBox },
] ]
} }
}), }),
@ -11965,6 +11965,16 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
AllowSearch = true, AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto {
DataSourceType = UiLookupDataSourceTypeEnum.StaticData,
DisplayExpr = "name",
ValueExpr = "key",
LookupQuery = JsonSerializer.Serialize(new LookupDataDto[] {
new () { Key="Reference",Name="Reference" },
new () { Key="SmallerThanReference",Name="Smaller Than Reference" },
new () { Key="BiggerThanReference",Name="Bigger Than Reference" },
}),
}),
ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] {
new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)}
}), }),
@ -12044,6 +12054,43 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
IsPivot = true IsPivot = true
}) })
}, },
new ListFormField
{
ListFormCode = listFormUom.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "UomCategoryId",
Width = 150,
ListOrderNo = 6,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto {
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = $"SELECT \"{DbTablePrefix}UomCategory\".\"Id\" AS \"Key\", \"{DbTablePrefix}UomCategory\".\"Name\" as \"Name\" FROM \"{DbTablePrefix}UomCategory\" ORDER BY \"{DbTablePrefix}UomCategory\".\"Name\"",
}),
ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] {
new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)}
}),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.Definitions.Uom + ".Create",
R = AppCodes.Definitions.Uom,
U = AppCodes.Definitions.Uom + ".Update",
E = true,
I = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
}); });
#endregion #endregion
} }
@ -12148,9 +12195,9 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
new() { Order=1,ColCount=1,ColSpan=2,ItemType="group", Items= new() { Order=1,ColCount=1,ColSpan=2,ItemType="group", Items=
[ [
new EditingFormItemDto { Order = 1, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order = 1, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "Progress", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxSlider }, new EditingFormItemDto { Order = 2, DataField = "Progress", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxNumberBox },
new EditingFormItemDto { Order = 3, DataField = "TypeName", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order = 3, DataField = "IsDefault", ColSpan = 2, IsRequired = false, EditorType2=EditorTypes.dxCheckBox },
new EditingFormItemDto { Order = 4, DataField = "IsDefault", ColSpan = 2, IsRequired = false, EditorType2=EditorTypes.dxCheckBox }, new EditingFormItemDto { Order = 4, DataField = "SkillTypeId", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxSelectBox },
] ]
} }
}), }),
@ -12183,8 +12230,7 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
#region Skill Level Fields #region Skill Level Fields
await _listFormFieldRepository.InsertManyAsync(new ListFormField[] { await _listFormFieldRepository.InsertManyAsync(new ListFormField[] {
new ListFormField new() {
{
ListFormCode = listFormSkillLevel.ListFormCode, ListFormCode = listFormSkillLevel.ListFormCode,
RoleId = null, RoleId = null,
UserId = null, UserId = null,
@ -12214,8 +12260,7 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
IsPivot = true IsPivot = true
}) })
}, },
new ListFormField new() {
{
ListFormCode = listFormSkillLevel.ListFormCode, ListFormCode = listFormSkillLevel.ListFormCode,
RoleId = null, RoleId = null,
UserId = null, UserId = null,
@ -12261,9 +12306,6 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
AllowSearch = true, AllowSearch = true,
ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] {
new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)}
}),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{ {
C = AppCodes.Definitions.SkillLevel + ".Create", C = AppCodes.Definitions.SkillLevel + ".Create",
@ -12309,6 +12351,43 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
IsPivot = true IsPivot = true
}) })
}, },
new ListFormField
{
ListFormCode = listFormSkillLevel.ListFormCode,
RoleId = null,
UserId = null,
CultureName = LanguageCodes.En,
SourceDbType = DbType.Guid,
FieldName = "SkillTypeId",
Width = 150,
ListOrderNo = 5,
Visible = true,
IsActive = true,
IsDeleted = false,
AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto {
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = $"SELECT \"{DbTablePrefix}SkillType\".\"Id\" AS \"Key\", \"{DbTablePrefix}SkillType\".\"Name\" as \"Name\" FROM \"{DbTablePrefix}SkillType\" ORDER BY \"{DbTablePrefix}SkillType\".\"Name\"",
}),
ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] {
new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)}
}),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{
C = AppCodes.Definitions.SkillLevel + ".Create",
R = AppCodes.Definitions.SkillLevel,
U = AppCodes.Definitions.SkillLevel + ".Update",
E = true,
I = true,
Deny = false
}),
PivotSettingsJson = JsonSerializer.Serialize(new ListFormFieldPivotSettingsDto
{
IsPivot = true
})
},
}); });
#endregion #endregion
} }
@ -12413,7 +12492,7 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
new() { Order=1,ColCount=1,ColSpan=2,ItemType="group", Items= new() { Order=1,ColCount=1,ColSpan=2,ItemType="group", Items=
[ [
new EditingFormItemDto { Order = 1, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order = 1, DataField = "Name", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox },
new EditingFormItemDto { Order = 2, DataField = "TypeName", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxTextBox }, new EditingFormItemDto { Order = 2, DataField = "SkillTypeId", ColSpan = 2, IsRequired = true, EditorType2=EditorTypes.dxSelectBox },
] ]
} }
}), }),
@ -12509,22 +12588,28 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
RoleId = null, RoleId = null,
UserId = null, UserId = null,
CultureName = LanguageCodes.En, CultureName = LanguageCodes.En,
SourceDbType = DbType.String, SourceDbType = DbType.Guid,
FieldName = "TypeName", FieldName = "SkillTypeId",
Width = 150, Width = 150,
ListOrderNo = 3, ListOrderNo = 3,
Visible = true, Visible = true,
IsActive = true, IsActive = true,
IsDeleted = false, IsDeleted = false,
AllowSearch = true, AllowSearch = true,
LookupJson = JsonSerializer.Serialize(new LookupDto {
DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name",
ValueExpr = "Key",
LookupQuery = $"SELECT \"{DbTablePrefix}SkillType\".\"Id\" AS \"Key\", \"{DbTablePrefix}SkillType\".\"Name\" as \"Name\" FROM \"{DbTablePrefix}SkillType\" ORDER BY \"{DbTablePrefix}SkillType\".\"Name\"",
}),
ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] { ValidationRuleJson = JsonSerializer.Serialize(new ValidationRuleDto[] {
new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)} new ValidationRuleDto() { Type = Enum.GetName(UiColumnValidationRuleTypeEnum.required)}
}), }),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{ {
C = AppCodes.Definitions.Skill + ".Create", C = AppCodes.Definitions.SkillLevel + ".Create",
R = AppCodes.Definitions.Skill, R = AppCodes.Definitions.SkillLevel,
U = AppCodes.Definitions.Skill + ".Update", U = AppCodes.Definitions.SkillLevel + ".Update",
E = true, E = true,
I = true, I = true,
Deny = false Deny = false
@ -13049,7 +13134,7 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
DataSourceType = UiLookupDataSourceTypeEnum.Query, DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name", DisplayExpr = "Name",
ValueExpr = "Key", ValueExpr = "Key",
LookupQuery = $"SELECT \"{DbTablePrefix}LanguageKey\".\"Key\", CONCAT(\"{DbTablePrefix}LanguageKey\".\"Key\", ' (', \"{DbTablePrefix}LanguageText\".\"Value\", ')') AS \"Name\" FROM \"{DbTablePrefix}LanguageKey\" LEFT OUTER JOIN \"{DbTablePrefix}LanguageText\" ON \"{DbTablePrefix}LanguageKey\".\"Key\" = \"{DbTablePrefix}LanguageText\".\"Key\" AND \"{DbTablePrefix}LanguageKey\".\"ResourceName\" = \"{DbTablePrefix}LanguageText\".\"ResourceName\" WHERE \"{DbTablePrefix}LanguageKey\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"CultureName\" = 'tr' ORDER BY \"{DbTablePrefix}LanguageKey\".\"Key\";" LookupQuery = lookupQueryLanguageKeyValues
}), }),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{ {
@ -13108,7 +13193,7 @@ public class ListFormsSeeder : IDataSeedContributor, ITransientDependency
DataSourceType = UiLookupDataSourceTypeEnum.Query, DataSourceType = UiLookupDataSourceTypeEnum.Query,
DisplayExpr = "Name", DisplayExpr = "Name",
ValueExpr = "Key", ValueExpr = "Key",
LookupQuery = $"SELECT \"{DbTablePrefix}LanguageKey\".\"Key\", CONCAT(\"{DbTablePrefix}LanguageKey\".\"Key\", ' (', \"{DbTablePrefix}LanguageText\".\"Value\", ')') AS \"Name\" FROM \"{DbTablePrefix}LanguageKey\" LEFT OUTER JOIN \"{DbTablePrefix}LanguageText\" ON \"{DbTablePrefix}LanguageKey\".\"Key\" = \"{DbTablePrefix}LanguageText\".\"Key\" AND \"{DbTablePrefix}LanguageKey\".\"ResourceName\" = \"{DbTablePrefix}LanguageText\".\"ResourceName\" WHERE \"{DbTablePrefix}LanguageKey\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"IsDeleted\" = 'false' AND \"{DbTablePrefix}LanguageText\".\"CultureName\" = 'tr' ORDER BY \"{DbTablePrefix}LanguageKey\".\"Key\";" LookupQuery = lookupQueryLanguageKeyValues
}), }),
PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto PermissionJson = JsonSerializer.Serialize(new ListFormFieldPermissionDto
{ {

View file

@ -24,6 +24,7 @@ using EFCore.BulkExtensions;
using System.Collections.Generic; using System.Collections.Generic;
using Kurs.Platform.Contacts; using Kurs.Platform.Contacts;
using static Kurs.Settings.SettingsConsts; using static Kurs.Settings.SettingsConsts;
using DocumentFormat.OpenXml.Wordprocessing;
namespace Kurs.Platform.Data.Seeds; namespace Kurs.Platform.Data.Seeds;
@ -725,39 +726,39 @@ public class PlatformDataSeeder : IDataSeedContributor, ITransientDependency
if (!exists) if (!exists)
{ {
await _skillTypeRepository.InsertAsync(new SkillType await _skillTypeRepository.InsertAsync
{ (
Name = item.Name, new SkillType(item.Id, item.Name)
}); );
} }
} }
foreach (var item in items.Skills) foreach (var item in items.Skills)
{ {
var exists = await _skillRepository.AnyAsync(x => x.Name == item.Name && x.TypeName == item.TypeName); var exists = await _skillRepository.AnyAsync(x => x.Name == item.Name && x.SkillTypeId == item.SkillTypeId);
if (!exists) if (!exists)
{ {
await _skillRepository.InsertAsync(new Skill await _skillRepository.InsertAsync(new Skill
{ {
Name = item.Name, Name = item.Name,
TypeName = item.TypeName SkillTypeId = item.SkillTypeId
}); });
} }
} }
foreach (var item in items.SkillLevels) foreach (var item in items.SkillLevels)
{ {
var exists = await _skillLevelRepository.AnyAsync(x => x.Name == item.Name && x.TypeName == item.TypeName); var exists = await _skillLevelRepository.AnyAsync(x => x.Name == item.Name && x.SkillTypeId == item.SkillTypeId);
if (!exists) if (!exists)
{ {
await _skillLevelRepository.InsertAsync(new SkillLevel await _skillLevelRepository.InsertAsync(new SkillLevel
{ {
Name = item.Name, Name = item.Name,
TypeName = item.TypeName,
Progress = item.Progress, Progress = item.Progress,
IsDefault = item.IsDefault IsDefault = item.IsDefault,
SkillTypeId = item.SkillTypeId,
}); });
} }
} }

View file

@ -16762,173 +16762,175 @@
], ],
"SkillTypes": [ "SkillTypes": [
{ {
"Id": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Diller" "Name": "Diller"
}, },
{ {
"Id": "2e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Soft Skills" "Name": "Soft Skills"
} }
], ],
"Skills": [ "Skills": [
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Spanish" "Name": "Spanish"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Fransızca" "Name": "Fransızca"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "English" "Name": "English"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "German" "Name": "German"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Filipino" "Name": "Filipino"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Arabic" "Name": "Arabic"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Bengali" "Name": "Bengali"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Mandarin Chinese" "Name": "Mandarin Chinese"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Wu Chinese" "Name": "Wu Chinese"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Hindi" "Name": "Hindi"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Russian" "Name": "Russian"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Portuguese" "Name": "Portuguese"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Indonesian" "Name": "Indonesian"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Urdu" "Name": "Urdu"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Japonca" "Name": "Japonca"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Punjabi" "Name": "Punjabi"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Javanese" "Name": "Javanese"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Telugu" "Name": "Telugu"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Turkish" "Name": "Turkish"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Korean" "Name": "Korean"
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Marathi" "Name": "Marathi"
}, },
{ {
"TypeName": "Soft Skills", "SkillTypeId": "2e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Adaptability" "Name": "Adaptability"
}, },
{ {
"TypeName": "Soft Skills", "SkillTypeId": "2e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Critical Thinking" "Name": "Critical Thinking"
}, },
{ {
"TypeName": "Soft Skills", "SkillTypeId": "2e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "İletişim" "Name": "İletişim"
} }
], ],
"SkillLevels": [ "SkillLevels": [
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "C2", "Name": "C2",
"Progress": 100, "Progress": 100,
"IsDefault": false "IsDefault": false
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "C1", "Name": "C1",
"Progress": 85, "Progress": 85,
"IsDefault": false "IsDefault": false
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "B2", "Name": "B2",
"Progress": 75, "Progress": 75,
"IsDefault": false "IsDefault": false
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "B1", "Name": "B1",
"Progress": 60, "Progress": 60,
"IsDefault": false "IsDefault": false
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "A2", "Name": "A2",
"Progress": 40, "Progress": 40,
"IsDefault": false "IsDefault": false
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "A1", "Name": "A1",
"Progress": 10, "Progress": 10,
"IsDefault": true "IsDefault": true
}, },
{ {
"TypeName": "Diller", "SkillTypeId": "1e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Expert", "Name": "Expert",
"Progress": 100, "Progress": 100,
"IsDefault": false "IsDefault": false
}, },
{ {
"TypeName": "Soft Skills", "SkillTypeId": "2e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Advanced", "Name": "Advanced",
"Progress": 80, "Progress": 80,
"IsDefault": false "IsDefault": false
}, },
{ {
"TypeName": "Soft Skills", "SkillTypeId": "2e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Intermediate", "Name": "Intermediate",
"Progress": 50, "Progress": 50,
"IsDefault": false "IsDefault": false
}, },
{ {
"TypeName": "Soft Skills", "SkillTypeId": "2e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Elementary", "Name": "Elementary",
"Progress": 25, "Progress": 25,
"IsDefault": false "IsDefault": false
}, },
{ {
"TypeName": "Soft Skills", "SkillTypeId": "2e97bf2c-dec8-50bb-af20-70e71d752874",
"Name": "Beginner", "Name": "Beginner",
"Progress": 15, "Progress": 15,
"IsDefault": true "IsDefault": true

View file

@ -162,13 +162,14 @@ public class CurrencySeedDto
public class SkillTypeSeedDto public class SkillTypeSeedDto
{ {
public Guid Id { get; set; }
public string Name { get; set; } public string Name { get; set; }
} }
public class SkillSeedDto public class SkillSeedDto
{ {
public string Name { get; set; } public string Name { get; set; }
public string TypeName { get; set; } public Guid SkillTypeId { get; set; }
} }
public class SkillLevelSeedDto public class SkillLevelSeedDto
@ -176,7 +177,7 @@ public class SkillLevelSeedDto
public string Name { get; set; } public string Name { get; set; }
public int Progress { get; set; } public int Progress { get; set; }
public bool IsDefault { get; set; } public bool IsDefault { get; set; }
public string TypeName { get; set; } public Guid SkillTypeId { get; set; }
} }
public class ContactTagSeedDto public class ContactTagSeedDto

View file

@ -1,11 +1,14 @@
using System; using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
namespace Kurs.Platform.Entities;
public class Skill : FullAuditedEntity<Guid> public class Skill : FullAuditedEntity<Guid>
{ {
[Required, MaxLength(128)]
public string Name { get; set; } public string Name { get; set; }
public string TypeName { get; set; } public Guid SkillTypeId { get; set; }
public SkillType SkillType { get; set; }
} }

View file

@ -1,14 +1,16 @@
using System; using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
namespace Kurs.Platform.Entities;
public class SkillLevel : FullAuditedEntity<Guid> public class SkillLevel : FullAuditedEntity<Guid>
{ {
[Required, MaxLength(128)]
public string Name { get; set; } public string Name { get; set; }
public int Progress { get; set; } public int Progress { get; set; }
public bool IsDefault { get; set; } public bool IsDefault { get; set; }
public string TypeName { get; set; } public Guid SkillTypeId { get; set; }
public SkillType SkillType { get; set; }
} }

View file

@ -1,13 +1,21 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
namespace Kurs.Platform.Entities;
public class SkillType : FullAuditedEntity<Guid> public class SkillType : FullAuditedEntity<Guid>
{ {
[Required, MaxLength(128)]
public string Name { get; set; } public string Name { get; set; }
public ICollection<Skill> Skills { get; set; } public ICollection<Skill> Skills { get; set; }
public ICollection<SkillLevel> Levels { get; set; } public ICollection<SkillLevel> Levels { get; set; }
public SkillType()
{
}
public SkillType(Guid id, string name) : base(id)
{
Name = name;
}
} }

View file

@ -416,6 +416,18 @@ public class PlatformDbContext :
b.Property(x => x.Name).IsRequired().HasMaxLength(128); b.Property(x => x.Name).IsRequired().HasMaxLength(128);
b.HasIndex(x => x.Name).IsUnique(); b.HasIndex(x => x.Name).IsUnique();
b.HasMany(x => x.Skills)
.WithOne(x => x.SkillType)
.HasForeignKey(x => new { x.SkillTypeId })
.HasPrincipalKey(x => new { x.Id })
.OnDelete(DeleteBehavior.Cascade);
b.HasMany(x => x.Levels)
.WithOne(x => x.SkillType)
.HasForeignKey(x => new { x.SkillTypeId })
.HasPrincipalKey(x => new { x.Id })
.OnDelete(DeleteBehavior.Cascade);
}); });
builder.Entity<Skill>(b => builder.Entity<Skill>(b =>
@ -423,7 +435,7 @@ public class PlatformDbContext :
b.ToTable(PlatformConsts.DbTablePrefix + nameof(Skill), PlatformConsts.DbSchema); b.ToTable(PlatformConsts.DbTablePrefix + nameof(Skill), PlatformConsts.DbSchema);
b.ConfigureByConvention(); b.ConfigureByConvention();
b.Property(x => x.Name).IsRequired().HasMaxLength(128); b.Property(x => x.Name).IsRequired().HasMaxLength(128);
b.Property(x => x.TypeName).IsRequired().HasMaxLength(128); b.Property(x => x.SkillTypeId).IsRequired();
}); });
builder.Entity<SkillLevel>(b => builder.Entity<SkillLevel>(b =>
@ -431,7 +443,7 @@ public class PlatformDbContext :
b.ToTable(PlatformConsts.DbTablePrefix + nameof(SkillLevel), PlatformConsts.DbSchema); b.ToTable(PlatformConsts.DbTablePrefix + nameof(SkillLevel), PlatformConsts.DbSchema);
b.ConfigureByConvention(); b.ConfigureByConvention();
b.Property(x => x.Name).IsRequired().HasMaxLength(128); b.Property(x => x.Name).IsRequired().HasMaxLength(128);
b.Property(x => x.TypeName).IsRequired().HasMaxLength(128); b.Property(x => x.SkillTypeId).IsRequired();
b.Property(x => x.Progress); b.Property(x => x.Progress);
b.Property(x => x.IsDefault); b.Property(x => x.IsDefault);
}); });

View file

@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore;
namespace Kurs.Platform.Migrations namespace Kurs.Platform.Migrations
{ {
[DbContext(typeof(PlatformDbContext))] [DbContext(typeof(PlatformDbContext))]
[Migration("20250821081019_GenelDuzenleme")] [Migration("20250821191927_GenelDuzenleme")]
partial class GenelDuzenleme partial class GenelDuzenleme
{ {
/// <inheritdoc /> /// <inheritdoc />
@ -3572,6 +3572,160 @@ namespace Kurs.Platform.Migrations
b.ToTable("PService", (string)null); b.ToTable("PService", (string)null);
}); });
modelBuilder.Entity("Kurs.Platform.Entities.Skill", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<Guid>("SkillTypeId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("SkillTypeId");
b.ToTable("PSkill", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.SkillLevel", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDefault")
.HasColumnType("bit");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<int>("Progress")
.HasColumnType("int");
b.Property<Guid>("SkillTypeId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("SkillTypeId");
b.ToTable("PSkillLevel", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.SkillType", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.ToTable("PSkillType", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.Uom", b => modelBuilder.Entity("Kurs.Platform.Entities.Uom", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
@ -4219,170 +4373,6 @@ namespace Kurs.Platform.Migrations
b.ToTable("PSettingDefinition", (string)null); b.ToTable("PSettingDefinition", (string)null);
}); });
modelBuilder.Entity("Skill", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<Guid?>("SkillTypeId")
.HasColumnType("uniqueidentifier");
b.Property<string>("TypeName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.HasIndex("SkillTypeId");
b.ToTable("PSkill", (string)null);
});
modelBuilder.Entity("SkillLevel", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDefault")
.HasColumnType("bit");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<int>("Progress")
.HasColumnType("int");
b.Property<Guid?>("SkillTypeId")
.HasColumnType("uniqueidentifier");
b.Property<string>("TypeName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.HasIndex("SkillTypeId");
b.ToTable("PSkillLevel", (string)null);
});
modelBuilder.Entity("SkillType", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.ToTable("PSkillType", (string)null);
});
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
@ -6349,6 +6339,28 @@ namespace Kurs.Platform.Migrations
b.Navigation("ReportCategory"); b.Navigation("ReportCategory");
}); });
modelBuilder.Entity("Kurs.Platform.Entities.Skill", b =>
{
b.HasOne("Kurs.Platform.Entities.SkillType", "SkillType")
.WithMany("Skills")
.HasForeignKey("SkillTypeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("SkillType");
});
modelBuilder.Entity("Kurs.Platform.Entities.SkillLevel", b =>
{
b.HasOne("Kurs.Platform.Entities.SkillType", "SkillType")
.WithMany("Levels")
.HasForeignKey("SkillTypeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("SkillType");
});
modelBuilder.Entity("Kurs.Platform.Entities.Uom", b => modelBuilder.Entity("Kurs.Platform.Entities.Uom", b =>
{ {
b.HasOne("Kurs.Platform.Entities.UomCategory", "UomCategory") b.HasOne("Kurs.Platform.Entities.UomCategory", "UomCategory")
@ -6399,20 +6411,6 @@ namespace Kurs.Platform.Migrations
b.Navigation("Order"); b.Navigation("Order");
}); });
modelBuilder.Entity("Skill", b =>
{
b.HasOne("SkillType", null)
.WithMany("Skills")
.HasForeignKey("SkillTypeId");
});
modelBuilder.Entity("SkillLevel", b =>
{
b.HasOne("SkillType", null)
.WithMany("Levels")
.HasForeignKey("SkillTypeId");
});
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
{ {
b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) b.HasOne("Volo.Abp.AuditLogging.AuditLog", null)
@ -6590,6 +6588,13 @@ namespace Kurs.Platform.Migrations
b.Navigation("Parameters"); b.Navigation("Parameters");
}); });
modelBuilder.Entity("Kurs.Platform.Entities.SkillType", b =>
{
b.Navigation("Levels");
b.Navigation("Skills");
});
modelBuilder.Entity("Kurs.Platform.Entities.UomCategory", b => modelBuilder.Entity("Kurs.Platform.Entities.UomCategory", b =>
{ {
b.Navigation("Uoms"); b.Navigation("Uoms");
@ -6615,13 +6620,6 @@ namespace Kurs.Platform.Migrations
b.Navigation("Items"); b.Navigation("Items");
}); });
modelBuilder.Entity("SkillType", b =>
{
b.Navigation("Levels");
b.Navigation("Skills");
});
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
{ {
b.Navigation("Actions"); b.Navigation("Actions");

View file

@ -11,6 +11,14 @@ namespace Kurs.Platform.Migrations
/// <inheritdoc /> /// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder) protected override void Up(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.DropForeignKey(
name: "FK_PSkill_PSkillType_SkillTypeId",
table: "PSkill");
migrationBuilder.DropForeignKey(
name: "FK_PSkillLevel_PSkillType_SkillTypeId",
table: "PSkillLevel");
migrationBuilder.DropForeignKey( migrationBuilder.DropForeignKey(
name: "FK_PUom_PUomCategory_CategoryName", name: "FK_PUom_PUomCategory_CategoryName",
table: "PUom"); table: "PUom");
@ -31,6 +39,14 @@ namespace Kurs.Platform.Migrations
name: "CategoryName", name: "CategoryName",
table: "PUom"); table: "PUom");
migrationBuilder.DropColumn(
name: "TypeName",
table: "PSkillLevel");
migrationBuilder.DropColumn(
name: "TypeName",
table: "PSkill");
migrationBuilder.DropColumn( migrationBuilder.DropColumn(
name: "ConcurrencyStamp", name: "ConcurrencyStamp",
table: "PRoute"); table: "PRoute");
@ -54,6 +70,26 @@ namespace Kurs.Platform.Migrations
nullable: false, nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000")); defaultValue: new Guid("00000000-0000-0000-0000-000000000000"));
migrationBuilder.AlterColumn<Guid>(
name: "SkillTypeId",
table: "PSkillLevel",
type: "uniqueidentifier",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
oldClrType: typeof(Guid),
oldType: "uniqueidentifier",
oldNullable: true);
migrationBuilder.AlterColumn<Guid>(
name: "SkillTypeId",
table: "PSkill",
type: "uniqueidentifier",
nullable: false,
defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
oldClrType: typeof(Guid),
oldType: "uniqueidentifier",
oldNullable: true);
migrationBuilder.AlterColumn<int>( migrationBuilder.AlterColumn<int>(
name: "LikeCount", name: "LikeCount",
table: "PForumPost", table: "PForumPost",
@ -631,6 +667,22 @@ namespace Kurs.Platform.Migrations
table: "PReportTemplate", table: "PReportTemplate",
column: "CategoryName"); column: "CategoryName");
migrationBuilder.AddForeignKey(
name: "FK_PSkill_PSkillType_SkillTypeId",
table: "PSkill",
column: "SkillTypeId",
principalTable: "PSkillType",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey(
name: "FK_PSkillLevel_PSkillType_SkillTypeId",
table: "PSkillLevel",
column: "SkillTypeId",
principalTable: "PSkillType",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
migrationBuilder.AddForeignKey( migrationBuilder.AddForeignKey(
name: "FK_PUom_PUomCategory_UomCategoryId", name: "FK_PUom_PUomCategory_UomCategoryId",
table: "PUom", table: "PUom",
@ -643,6 +695,14 @@ namespace Kurs.Platform.Migrations
/// <inheritdoc /> /// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder) protected override void Down(MigrationBuilder migrationBuilder)
{ {
migrationBuilder.DropForeignKey(
name: "FK_PSkill_PSkillType_SkillTypeId",
table: "PSkill");
migrationBuilder.DropForeignKey(
name: "FK_PSkillLevel_PSkillType_SkillTypeId",
table: "PSkillLevel");
migrationBuilder.DropForeignKey( migrationBuilder.DropForeignKey(
name: "FK_PUom_PUomCategory_UomCategoryId", name: "FK_PUom_PUomCategory_UomCategoryId",
table: "PUom"); table: "PUom");
@ -735,6 +795,38 @@ namespace Kurs.Platform.Migrations
nullable: false, nullable: false,
defaultValue: ""); defaultValue: "");
migrationBuilder.AlterColumn<Guid>(
name: "SkillTypeId",
table: "PSkillLevel",
type: "uniqueidentifier",
nullable: true,
oldClrType: typeof(Guid),
oldType: "uniqueidentifier");
migrationBuilder.AddColumn<string>(
name: "TypeName",
table: "PSkillLevel",
type: "nvarchar(128)",
maxLength: 128,
nullable: false,
defaultValue: "");
migrationBuilder.AlterColumn<Guid>(
name: "SkillTypeId",
table: "PSkill",
type: "uniqueidentifier",
nullable: true,
oldClrType: typeof(Guid),
oldType: "uniqueidentifier");
migrationBuilder.AddColumn<string>(
name: "TypeName",
table: "PSkill",
type: "nvarchar(128)",
maxLength: 128,
nullable: false,
defaultValue: "");
migrationBuilder.AddColumn<string>( migrationBuilder.AddColumn<string>(
name: "ConcurrencyStamp", name: "ConcurrencyStamp",
table: "PRoute", table: "PRoute",
@ -882,6 +974,20 @@ namespace Kurs.Platform.Migrations
unique: true, unique: true,
filter: "[CountryCode] IS NOT NULL AND [Code] IS NOT NULL"); filter: "[CountryCode] IS NOT NULL AND [Code] IS NOT NULL");
migrationBuilder.AddForeignKey(
name: "FK_PSkill_PSkillType_SkillTypeId",
table: "PSkill",
column: "SkillTypeId",
principalTable: "PSkillType",
principalColumn: "Id");
migrationBuilder.AddForeignKey(
name: "FK_PSkillLevel_PSkillType_SkillTypeId",
table: "PSkillLevel",
column: "SkillTypeId",
principalTable: "PSkillType",
principalColumn: "Id");
migrationBuilder.AddForeignKey( migrationBuilder.AddForeignKey(
name: "FK_PUom_PUomCategory_CategoryName", name: "FK_PUom_PUomCategory_CategoryName",
table: "PUom", table: "PUom",

View file

@ -3569,6 +3569,160 @@ namespace Kurs.Platform.Migrations
b.ToTable("PService", (string)null); b.ToTable("PService", (string)null);
}); });
modelBuilder.Entity("Kurs.Platform.Entities.Skill", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<Guid>("SkillTypeId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("SkillTypeId");
b.ToTable("PSkill", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.SkillLevel", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDefault")
.HasColumnType("bit");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<int>("Progress")
.HasColumnType("int");
b.Property<Guid>("SkillTypeId")
.HasColumnType("uniqueidentifier");
b.HasKey("Id");
b.HasIndex("SkillTypeId");
b.ToTable("PSkillLevel", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.SkillType", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.ToTable("PSkillType", (string)null);
});
modelBuilder.Entity("Kurs.Platform.Entities.Uom", b => modelBuilder.Entity("Kurs.Platform.Entities.Uom", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
@ -4216,170 +4370,6 @@ namespace Kurs.Platform.Migrations
b.ToTable("PSettingDefinition", (string)null); b.ToTable("PSettingDefinition", (string)null);
}); });
modelBuilder.Entity("Skill", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<Guid?>("SkillTypeId")
.HasColumnType("uniqueidentifier");
b.Property<string>("TypeName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.HasIndex("SkillTypeId");
b.ToTable("PSkill", (string)null);
});
modelBuilder.Entity("SkillLevel", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDefault")
.HasColumnType("bit");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.Property<int>("Progress")
.HasColumnType("int");
b.Property<Guid?>("SkillTypeId")
.HasColumnType("uniqueidentifier");
b.Property<string>("TypeName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.HasIndex("SkillTypeId");
b.ToTable("PSkillLevel", (string)null);
});
modelBuilder.Entity("SkillType", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uniqueidentifier");
b.Property<DateTime>("CreationTime")
.HasColumnType("datetime2")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uniqueidentifier")
.HasColumnName("CreatorId");
b.Property<Guid?>("DeleterId")
.HasColumnType("uniqueidentifier")
.HasColumnName("DeleterId");
b.Property<DateTime?>("DeletionTime")
.HasColumnType("datetime2")
.HasColumnName("DeletionTime");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("bit")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<DateTime?>("LastModificationTime")
.HasColumnType("datetime2")
.HasColumnName("LastModificationTime");
b.Property<Guid?>("LastModifierId")
.HasColumnType("uniqueidentifier")
.HasColumnName("LastModifierId");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("nvarchar(128)");
b.HasKey("Id");
b.HasIndex("Name")
.IsUnique();
b.ToTable("PSkillType", (string)null);
});
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
{ {
b.Property<Guid>("Id") b.Property<Guid>("Id")
@ -6346,6 +6336,28 @@ namespace Kurs.Platform.Migrations
b.Navigation("ReportCategory"); b.Navigation("ReportCategory");
}); });
modelBuilder.Entity("Kurs.Platform.Entities.Skill", b =>
{
b.HasOne("Kurs.Platform.Entities.SkillType", "SkillType")
.WithMany("Skills")
.HasForeignKey("SkillTypeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("SkillType");
});
modelBuilder.Entity("Kurs.Platform.Entities.SkillLevel", b =>
{
b.HasOne("Kurs.Platform.Entities.SkillType", "SkillType")
.WithMany("Levels")
.HasForeignKey("SkillTypeId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("SkillType");
});
modelBuilder.Entity("Kurs.Platform.Entities.Uom", b => modelBuilder.Entity("Kurs.Platform.Entities.Uom", b =>
{ {
b.HasOne("Kurs.Platform.Entities.UomCategory", "UomCategory") b.HasOne("Kurs.Platform.Entities.UomCategory", "UomCategory")
@ -6396,20 +6408,6 @@ namespace Kurs.Platform.Migrations
b.Navigation("Order"); b.Navigation("Order");
}); });
modelBuilder.Entity("Skill", b =>
{
b.HasOne("SkillType", null)
.WithMany("Skills")
.HasForeignKey("SkillTypeId");
});
modelBuilder.Entity("SkillLevel", b =>
{
b.HasOne("SkillType", null)
.WithMany("Levels")
.HasForeignKey("SkillTypeId");
});
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b =>
{ {
b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) b.HasOne("Volo.Abp.AuditLogging.AuditLog", null)
@ -6587,6 +6585,13 @@ namespace Kurs.Platform.Migrations
b.Navigation("Parameters"); b.Navigation("Parameters");
}); });
modelBuilder.Entity("Kurs.Platform.Entities.SkillType", b =>
{
b.Navigation("Levels");
b.Navigation("Skills");
});
modelBuilder.Entity("Kurs.Platform.Entities.UomCategory", b => modelBuilder.Entity("Kurs.Platform.Entities.UomCategory", b =>
{ {
b.Navigation("Uoms"); b.Navigation("Uoms");
@ -6612,13 +6617,6 @@ namespace Kurs.Platform.Migrations
b.Navigation("Items"); b.Navigation("Items");
}); });
modelBuilder.Entity("SkillType", b =>
{
b.Navigation("Levels");
b.Navigation("Skills");
});
modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b =>
{ {
b.Navigation("Actions"); b.Navigation("Actions");

View file

@ -82,7 +82,7 @@ define(['./workbox-54d0af47'], (function (workbox) { 'use strict';
"revision": "3ca0b8505b4bec776b69afdba2768812" "revision": "3ca0b8505b4bec776b69afdba2768812"
}, { }, {
"url": "index.html", "url": "index.html",
"revision": "0.2cgibr83seg" "revision": "0.1epkpfrpvl8"
}], {}); }], {});
workbox.cleanupOutdatedCaches(); workbox.cleanupOutdatedCaches();
workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), { workbox.registerRoute(new workbox.NavigationRoute(workbox.createHandlerBoundToURL("index.html"), {